Clé à partir d'un String en Java RSA

J'utilise dans mon application de chiffrement RSA. Pour stocker clé publique générée-je les convertir en String, puis l'enregistrer dans la base de données.

    Key publicKey=null;
    Key privateKey=null;

    KeyPair keyPair=RsaCrypto.getKeyPairRSA(1024);
    publicKey=keyPair.getPublic();
    privateKey=keyPair.getPrivate();



    String publicK=Base64.encodeToString(publicKey.getEncoded(), Base64.DEFAULT);
    String privateK=Base64.encodeToString(privateKey.getEncoded(), Base64.DEFAULT);

- Je enregistrer des Chaînes de publicK et privateK.
Mon problème est que quand je veux crypter/décrypter un texte avec RSA et utiliser ma Clé enregistrée dans un format de Chaîne, je ne sais pas comment faire pour le convertir à Key.

public static String encrypt(Key publicKey, String inputText){
    byte[]encodedBytes=null;
    String encryptedText="";
    try {
        Cipher cipher=Cipher.getInstance("RSA");
        cipher.init(Cipher.ENCRYPT_MODE, publicKey);
        encodedBytes=cipher.doFinal(inputText.getBytes());
    } catch (Exception e) {Log.e("Error", "RSA encryption error");  }

    encryptedText=Base64.encodeToString(encodedBytes, Base64.DEFAULT);
    return encryptedText;
}

Avez-vous une idée?
Merci beaucoup

S'il vous plaît, veuillez, s'il vous plaît ne pas stocker non chiffrés clés privées dans votre base de données. Si vous devez stocker les clés privées connu sous le nom de escrowing et vous devriez être à les crypter avec une clé symétrique n'est connu que de votre application.
Merci, oui je pense à ce sujet. Pourriez-vous me donner un avis, quelle est la meilleure façon de stocker une clé dans l'app?merci
utiliser un mot de passe protégé Java fichier de clés. Rechercher Java keytool...
Merci pour la réponse, je vais essayer

OriginalL'auteur rgreso | 2014-04-06