Chiffrer et Déchiffrer en Java
Je voudrais stocker un mot de passe crypté dans un fichier Java.
Je l'ai vu à une solution à l'aide de javax.crypto, mais le problème c'est que la
a été générée à la volée et c'était aléatoire.
Ce mot de passe sera alors pris et décrypté dans le programme Java runtime.
Étant donné que je suis aller en magasin déjà d'un mot de passe crypté dans un fichier, je veux obtenir l'
texte de droit lorsque le décrypter.
Est-il un moyen de dire la javax.crypto méthode:
key = KeyGenerator.getInstance(algorithm).generateKey()
Cela peut-il être remplacé par ma propre clé générée une fois basé sur certaines clé privée?
Quelqu'un peut-il m'indiquer quelques ressources sur la façon de faire cela?
OriginalL'auteur oneiros | 2012-04-24
Vous devez vous connecter pour publier un commentaire.
Voici une solution à l'aide de la javax.crypto de la bibliothèque et de l'apache commons bibliothèque de codecs pour l'encodage et le décodage en Base64 que je cherchais:
Exécution du programme ci-dessus les résultats avec la sortie suivante:
String
comme une clé. En outre, il silencieusement utilise l'insécurité de la BCE mode de cryptage. Il n'y a pas d'authenticité ou l'intégrité de contrôle. L' (caractère) de codage / décodage est OK, et donc par défaut est le mode de remplissage. Mais en général, ce code est pas sûr.oneiros ont également un coup d'oeil à ma question. .stackoverflow.com/questions/38007478/...
byte[] encryptedText = Base64.decodeBase64((encryptedString); erreur dans cette ligne. La chaîne ne peut pas être converti en octets.
À la fin, mais pourquoi l'utilisation d'apache commons pour en Base64. Java a base64 construit en.
OriginalL'auteur oneiros
Cryptographie à Clé symétrique : clé Symétrique utilise la même clé pour le chiffrement et le déchiffrement. Le principal défi de ce type de cryptographie est l'échange de la clé secrète entre les deux parties de l'expéditeur et le récepteur.
Exemple : L'exemple suivant utilise la clé symétrique de chiffrement et de déchiffrement disponible en tant que partie du Soleil JCE(Java Cryptography Extension). Soleil JCE est a deux couches, l'API de chiffrement de couche et la couche de fournisseur.
DES (Data Encryption Sstandard) était un célèbre algorithme à clé symétrique. Actuellement DES est obsolète et considérés comme douteux. Triple DES et un renforcement de la variante de DES. C'est une clé symétrique de chiffrement par bloc. Il existe d'autres algorithmes comme Blowfish, Twofish et AES(UNvancée Encryption Sstandard). AES est la dernière norme de cryptage sur le DES.
Suit :
KeyGenerator
et un algorithme pour générer une clé secrète. Nous sommes à l'aide deDESede
.UTF-8 encoding
.Cipher
avecENCRYPT_MODE
, utilisez la clé secrète pour chiffrer les octets.Cipher
avecDECRYPT_MODE
, utilisez la même clé secrète et à déchiffrer les octets.Toutes les étapes indiquées ci-dessus et le concept sont les mêmes, nous venons de remplacer les algorithmes.
De sortie:
Source
Exemple: de Chiffrement avec deux modes de chiffrer et déchiffrer. nous devons commencer à chaque fois après le mode de réglage de chiffrer ou de déchiffrer un texte.
OriginalL'auteur Premraj
KeyGenerator
est utilisé pour générer clésVous voudrez peut-être vérifier
KeySpec
,SecretKey
etSecretKeyFactory
classeshttp://docs.oracle.com/javase/1.5.0/docs/api/javax/crypto/spec/package-summary.html
OriginalL'auteur jambriz
Ici est un échantillon que j'ai fait il y a quelques mois
La classe de chiffrer et de déchiffrer les données
String
. Donc le code ci-dessus échoue et ensuite.OriginalL'auteur Hugues
OriginalL'auteur Govind Kumar