J'essaye de stocker le mot de passe dans la base de données dans la forme cryptée avec l'aide de JSP et de Servlets. Comment je peux faire ça?Comment stocker le mot de passe crypté dans la base de données?
Répondre
Essayez quelque chose comme ceci pour crypter vos données.
MessageDigest md = MessageDigest.getInstance("MD5");
......
synchronized (md) {
md.reset();
byte[] hash = md.digest(plainTextPassword.getBytes("CP1252"));
StringBuffer sb = new StringBuffer();
for (int i = 0; i < hash.length; ++i) {
sb.append(Integer.toHexString((hash[i] & 0xFF) | 0x100).toUpperCase().substring(1, 3));
}
String password = sb.toString();
}
Vous pouvez également utiliser quelque chose comme ci-dessous. Voici une méthode crypt qui prend une entrée de chaîne et retournera une chaîne cryptée. Vous pouvez passer un mot de passe à cette méthode.
public static String crypt(String str) {
if (str == null || str.length() == 0) {
throw new IllegalArgumentException(
"String to encrypt cannot be null or zero length");
}
StringBuffer hexString = new StringBuffer();
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes());
byte[] hash = md.digest();
for (int i = 0; i < hash.length; i++) {
if ((0xff & hash[i]) < 0x10) {
hexString.append("0"
+ Integer.toHexString((0xFF & hash[i])));
} else {
hexString.append(Integer.toHexString(0xFF & hash[i]));
}
}
} catch (NoSuchAlgorithmException e) {
}
return hexString.toString();
}
-1 pour l'utilisation de la fonction de hachage rapide. Voir http://security.stackexchange.com/a/242/5501 –
@Andrey Botalov. Ok point valide. Merci pour le lien utile. – ashishjmeshram
Les algorithmes auto-écrits présentent un risque de sécurité et sont difficiles à maintenir. Le numéro MD5 est not secure.
Utilisez l'algorithme bcrypt, fourni par jBcrypt (open source):
// Hash a password
String hashed = BCrypt.hashpw(password, BCrypt.gensalt());
// Check that an unencrypted password matches or not
if (BCrypt.checkpw(candidate, hashed))
System.out.println("It matches");
else
System.out.println("It does not match");
Si vous utilisez Maven, vous pouvez obtenir la bibliothèque en insérant la dépendance suivante dans votre pom.xml (si une version plus récente est disponible s'il vous plaît faites le moi savoir):
<dependency>
<groupId>de.svenkubiak</groupId>
<artifactId>jBCrypt</artifactId>
<version>0.4.1</version>
</dependency>
Comment l'utiliser dans mon code –
@VedPrakash: J'ai ajouté un paragraphe pour l'obtenir de Maven, est-ce que cela aide? –
@Nicolass Raoul Merci monsieur –
- 1. Enregistrer le mot de passe crypté et le mot de passe ou simplement stocker le mot de passe crypté?
- 2. comment récupérer un mot de passe crypté dans php
- 3. Récupération de mot de passe: Comment déchiffrer un mot de passe crypté md5?
- 4. ASP.NET Sql Server 2008 Comment stocker le mot de passe dans la base de données
- 5. Stockage de sel non crypté pour le hachage de mot de passe dans la base de données
- 6. RoR utilisant Devise - Mot de passe crypté
- 7. Où stocker le mot de passe?
- 8. Utilisation de py-postgresql avec mot de passe crypté
- 9. Comment stocker hashed mot de passe dans la base de données
- 10. Authentification Digest avec mot de passe stocké crypté dans mysql
- 11. où stocker le mot de passe en plus de la base de données
- 12. cryptage de mot de passe de base et stocker mot de passe dans un fichier
- 13. stocker mod_login mot de passe dans la session joomla
- 14. Essayer de stocker le mot de passe à la base de données
- 15. Ouverture d'un mot de passe base de données d'accès crypté à l'aide DAO VB.NET
- 16. Où puis-je stocker un mot de passe crypté sensible dans un travail d'agent SQL Server?
- 17. Cryptage du mot de passe pour stocker dans la base de données
- 18. mot de passe ne haché avant de les stocker dans la base de données
- 19. PDO Se connecter avec un mot de passe crypté?
- 20. Détacher la base de données avec le mot de passe
- 21. Comment enregistrer efficacement le mot de passe de base de données dans une application de bureau?
- 22. Mot de passe crypté dans xmlp-server-config.xml
- 23. Où stocker mot de passe de base de données sécurisé dans l'application de bureau Java
- 24. C# Comment stocker le mot de passe dans l'application
- 25. iPhone - Lire le mot de passe de la base de données SQLite cryptée
- 26. Type de données du mot de passe chiffré
- 27. Comment décrypter le mot de passe crypté dans localStorage en utilisant javaScrypt
- 28. Quelle est la meilleure façon de stocker le mot de passe dans la base de données lorsque l'appel API nécessite l'envoi du mot de passe en texte brut?
- 29. vb mot de passe de la base de données d'accès
- 30. Comment sécuriser le mot de passe de la base de données (cryptée) sur Android?
-1 pour l'utilisation de la fonction de hachage rapide. Voir http://security.stackexchange.com/a/242/5501 –