Em nossa programação, geralmente precisamos criptografar algum conteúdo especial. Hoje resumi alguns métodos simples de criptografia e os compartilhei com você!
Como implementar criptografia e descriptografia simples de strings com Java? Para garantir a segurança das informações do usuário, quando o sistema salvar as informações do usuário, é necessário criptografar e salvar sua senha no banco de dados.
Quando você precisar usar uma senha, retire os dados e descriptografá -los.
Evite salvar senhas de texto simples.
Plano 1:
pacote com.tnt.util; importar java.Security.Messagedigest; classe pública Stringutil {private final Static String [] hexdigits = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C" D "D", "" e "," F ""}; / *** Converta a matriz de byte em string hexadecimal** @param b* Array de byte* @return string hexima*/ public static string byteArraytoHexString (byte [] b) {stringBuffer ResultsB = new StringBuffer (); for (int i = 0; i <B.Length; i ++) {ResultsB.Append (bytetoHexString (b [i])); } retornar resultadosb.toString (); } string estática privada bytetoHexString (byte b) {int n = b; if (n <0) n = 256 + n; int d1 = n / 16; int d2 = n % 16; retornar hexdigits [d1] + hexdigits [d2]; } public static string md5Encode (origem da string) {string resgationtring = null; tente {ResultadoTring = new String (origem); Messagedigest md = Messagedigest.getInstance ("md5"); Resultados da pista = bytearraytoHexString (md.digest (ResultsTring .getBytes ())); } catch (Exceção ex) {} retorna o resultado de resultados; } public static void main (string [] args) {System.err.println (md5Encode ("123456")); }}Plano 2
package com.shangyu.core.utils;public class MD5 {public static String getMD5(byte[] source) {String s = null;char hexDigits[] = { // The characters used to convert bytes into hexadecimal representation '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; tente {java.security.messagedigest md = java.security.messagedigest.getInstance ("md5"); md.update (fonte); // O resultado do cálculo do MD5 é um número inteiro de 128 bits, // é representado por bytes, que é de 16 bytes. char str [] = novo char [16 * 2]; // Se cada byte for representado em hexadecimal, dois caracteres serão usados, //, portanto, são necessários 32 caracteres para representar hexadecimal int k = 0; // representa a posição de caractere correspondente no resultado de conversão para (int i = 0; i <16; i ++) {// começando no primeiro byte, a conversão de cada byte de md5 // em caracteres hexadecimais byte byte0 = tmp [i]; // pegue o i-th byte str [k ++] = hexdigits [byte0 >>> 4 & 0xf]; // Pegue a conversão numérica dos 4 bits superiores em byte, // >>> // para a mudança lógica à direita, desligue os bits de símbolo diretamente str [k ++] = hexdigits [byte0 & 0xf]; // Faça a conversão numérica dos 4 bits inferiores em byte} s = new String (str); // converte o resultado após a conversão em uma string} catch (Exceção e) {e.printStackTrace ();} retornar s;} public static string getMd5 (string str) {return getMd5 (str.getBytes ());} public static maid main (string [] args) {system.out.prIntlnnnnnnnnnnnnnnnnnnnnnn;Obrigado pela leitura, espero que isso possa ajudá -lo. Obrigado pelo seu apoio a este site!