Dans notre programmation, nous devons souvent crypter un contenu spécial. Aujourd'hui, j'ai résumé quelques méthodes de chiffrement simples et les partage avec vous!
Comment implémenter un cryptage et un décryptage simples des chaînes avec Java? Pour garantir la sécurité des informations utilisateur, lorsque le système enregistre les informations utilisateur, il est nécessaire de crypter et d'enregistrer son mot de passe dans la base de données.
Lorsque vous devez utiliser un mot de passe, retirez les données et décryptez-les.
Évitez d'enregistrer des mots de passe en texte clair.
Plan 1:
package com.tnt.util; Importer Java.Security.MessagediGest; classe publique StringUtil {chaîne statique finale privée [] hexDigits = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"}; / ** * Convertir le tableau d'octet en chaîne hexagonale * * @param b * byte array * @return hex string * / public static string bytearraytohexstring (byte [] b) {stringBuffer ResultsB = new StringBuffer (); for (int i = 0; i <b.length; i ++) {RUBTAMENTB.APPEND (bytetoHExString (b [i])); } return resultB.ToString (); } chaîne statique privée byTEToHExString (octet b) {int n = b; if (n <0) n = 256 + n; int d1 = n / 16; int d2 = n% 16; retour hexdigits [d1] + hexdigits [d2]; } public static String md5encode (String Origin) {String resulteTring = null; try {resultTring = new String (origin); MessagediGest MD = MessagediGest.getInstance ("MD5"); resultsTring = bytearraytohexString (md.digest (RUSTUSSTRING .getBytes ())); } catch (exception ex) {} return resultTring; } public static void main (String [] args) {System.err.println (md5encode ("123456")); }}Plan 2
package com.shangyu.core.utils; classe publique md5 {public static static getmd5 (byte [] source) {String s = null; char hexdigits [] = {// les personnages utilisés pour convertir les octets en une représentation hexadécimale '0', '1', '2', '3', '4', '5', ',' 6 ',', '' ''. 'a', 'b', 'c', 'd', 'e', 'f'}; try {java.security.Messagedigest md = java.security.MessagediGest.getinstance ("md5"); md.update (source); byte tmp [] = md.digest (); // Le résultat du calcul de MD5 est un entier long 128 bits, // il est représenté par des octets, qui sont de 16 octets. char str [] = nouveau char [16 * 2]; // Si chaque octet est représenté en hexadécimal, deux caractères sont utilisés, // Par conséquent, il faut 32 caractères pour représenter hexadécimal int k = 0; // il représente la position de caractères correspondante dans le résultat de conversion pour (int i = 0; i <16; i ++) {// à partir du premier octet, la conversion de chaque octet de MD5 // en caractères hexadécimaux octet octet 0 = tmp [i]; // Prenez le i-th byte str [k ++] = hexdigits [byte0 >>> 4 & 0xf]; // Prenez la conversion numérique des 4 bits supérieurs dans l'octet, // >>> // Pour un changement logique à droite, déplacez les bits de symbole directement Str [k ++] = hexDigits [byte0 & 0xf]; // Prenez la conversion numérique des 4 bits inférieurs en octet} s = nouvelle chaîne (str); // converti le résultat après la conversion en une chaîne} catch (exception e) {e.printStackTrace ();} return s;} public static String getmd5 (String str) {return getmd5 (str.getbytes ());} public static void main (string [] args) {system.out.println (md5.getmd5 ("" 12345 ");Merci d'avoir lu, j'espère que cela peut vous aider. Merci pour votre soutien à ce site!