В нашем программировании нам часто приходится шифровать какой -то особый контент. Сегодня я суммировал несколько простых методов шифрования и делюсь ими с вами!
Как реализовать простое шифрование и дешифрование струн с Java? Чтобы обеспечить безопасность пользовательской информации, когда система сохраняет пользовательскую информацию, необходимо шифровать и сохранить его пароль в базу данных.
Когда вам нужно использовать пароль, выберите данные и расшифрожите их.
Избегайте сохранения паролей открытого текста.
План 1:
пакет com.tnt.util; Импорт java.security.messagedigest; public class stringutil {private final Static String [] hexdigits = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"}; / *** Преобразовать байтовую массив в шестнадцатеричную строку** @param b* byte массив* @return hex string*/ public static String bytearraytohexstring (byte [] b) {stringbuffer resultsb = new Stringbuffer (); for (int i = 0; i <b.length; i ++) {resultsb.append (bytetohexstring (b [i])); } return resultsb.toString (); } частная статическая строка BytetoHexString (byte b) {int n = b; if (n <0) n = 256 + n; int d1 = n / 16; int d2 = n % 16; вернуть Hexdigits [D1] + hexdigits [D2]; } public Static String md5encode (String Origin) {String ResultString = null; try {resultString = new String (Origin); MessageDigest MD = MOSSAGEDIGEST.GETINSTANCE ("MD5"); ResultString = BytearrayToHexString (Md.Digest (ResultString .getBytes ())); } catch (Exception ex) {} return ResultString; } public static void main (string [] args) {System.err.println (md5encode ("123456")); }}План 2
пакет com.shangyu.core.utils; public class md5 {public static String getMd5 (byte [] source) {string s = null; char hexdigits [] = {// Персонажи, используемые для преобразования байтов в гексадецимальное представление '0,', ',' 2 ',' 3 ',' 4 ',' 5 ',' 7 ',' 7 ',' 7 ',' 7 ',' 7 ',' 7 ',' 7 'a', 'b', 'c', 'd', 'e', 'f'}; try {java.security.messagedigest md = java.security.messagedigest.getinstance ("md5"); md.update (источник); byte tmp [] = md.digest (); // Результат расчета MD5 представляет собой 128-битное целое число длиной, // он представлен байтами, что составляет 16 байтов. char str [] = new char [16 * 2]; // Если каждый байт представлен в шестнадцатеричной, используются два символа, // следовательно, требуется 32 символа, чтобы представлять шестнадцатеричный int k = 0; // Он представляет соответствующую позицию символа в результате преобразования для (int i = 0; i <16; i ++) {// Начиная с первого байта, преобразование каждого байта MD5 // в шестнадцатеричные символы Byte Byte0 = tmp [i]; // возьмите i-th byte str [k ++] = hexdigits [byte0 >>> 4 & 0xf]; // Возьмите числовое преобразование верхних 4 битов в байте, // >>> // Для логического сдвига справа, сдвиг символ, прямо вместе str [k ++] = hexdigits [byte0 & 0xf]; // Принять численное преобразование нижних 4 битов в байте} s = new String (str); // Преобразовать результат после преобразования в строку} catch (Exception e) {e.printStackTrace ();} return s;} public Static String getMd5 (String str) {return getMd5 (str.getBytes ());} public static void main (string [] jurss) {System.out.println (md5.getmgetmgd5 (string []) {system.out.println (md5.gletmgd5 (string []);Спасибо за чтение, я надеюсь, что это поможет вам. Спасибо за поддержку этого сайта!