Dalam pengembangan berbagai sistem aplikasi, informasi pengguna sering diperlukan, dan kata sandi pengguna disimpan di banyak tempat. Jelas tidak aman untuk menyimpan kata sandi pengguna secara langsung di server. Artikel ini secara singkat memperkenalkan algoritma enkripsi MD5 yang umum digunakan dalam pekerjaan, berharap dapat menarik perhatian.
(I) Pengantar Ringkasan Berita
Pencernaan pesan adalah sidik jari digital dari blok data. Artinya, blok data dengan segala panjang dihitung untuk menghasilkan sidik jari yang unik (untuk SHA1 adalah untuk menghasilkan array biner 20-byte). Pesan Digest adalah teknik yang digunakan dalam kombinasi dengan kode otentikasi pesan untuk memastikan integritas pesan. Algoritma fungsi hash satu arah terutama digunakan, yang dapat digunakan untuk memverifikasi integritas pesan dan menyimpannya secara langsung dalam teks melalui kata sandi hash. Saat ini, algoritma yang banyak digunakan termasuk MD4, MD5, dan SHA-1.
Pencernaan pesan memiliki dua properti dasar:
Dua pesan berbeda sulit untuk menghasilkan pencernaan yang sama
Sulit untuk menghasilkan pesan untuk pencernaan yang ditentukan, dan pencernaan yang ditentukan dapat disimpulkan dari pesan.
Perwakilan: SHA1 dari Institut Nasional Standar dan Teknologi dan MD5 oleh Ronald Rivest of MIT
(Ii) mengenkripsi string
/**Use MD5 for encryption* @param str String to be encrypted* @return Encrypted string* @throws NoSuchAlgorithmException There is no such algorithm to generate message digest* @throws UnsupportedEncodingException */ public String EncoderByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException{ // Tentukan metode perhitungan MessageDigest MD5 = MessageSpetest.getInstance ("md5"); Base64encoder base64en = base64Encoder baru (); // string string terenkripsi newsstr = base64en.encode (md5.digest (str.getbytes ("utf-8"))); mengembalikan newsstr; } Memanggil fungsinya:
String str = "0123456789"
System.out.println (encoderbymd5 (str));
Output: EB5EJF1PTWAXM4BIJSPYXW ==
(Iii) Verifikasi apakah kata sandi sudah benar
Karena MD5 didasarkan pada prinsip Pesan Pencernaan, fitur dasar dari Digest pesan adalah sulit untuk menghitung pesan pesan berdasarkan pencernaan. Oleh karena itu, untuk memverifikasi apakah kata sandi benar, perlu menghitung ulang kata sandi input (pesan pesan) dan membandingkannya dengan pencernaan yang disimpan dalam database (yaitu, pencernaan yang disimpan dalam database sebenarnya adalah kata sandi pengguna). Jika kedua pencernaannya sama, itu berarti bahwa kata sandi benar, dan berbeda, itu berarti bahwa kata sandi salah.
/ ** Hakim apakah kata sandi pengguna benar* @param newpasswd kata sandi yang dimasukkan oleh pengguna* @param oldpasswd kata sandi yang disimpan dalam database - - ringkasan kata sandi pengguna* @return* @Throws nosuchalgorithmexception* @throws UnsupportedencodingEnception*/ ringkasan nosuchalgorityswords* @throws UnsupportedencodingEcception*/ Public Booleanswords (PublicswordswordswordswordswordswordswordswordswordswordswordswordsweKDSWORDSWORDSWORDSWORDSWORDSWORDSWORDSWORDSWORDSWORDSWORDSWORDSWORDSWORDSEDEPASS NosuchalgorithMexception, unsportedencodingException {if (encoderbymd5 (newpasswd) .Equals (oldpasswd)) mengembalikan true; lain mengembalikan false; }PS: Mengenai teknologi enkripsi, situs ini juga menyediakan alat enkripsi berikut untuk referensi Anda:
Alat Enkripsi Online MD5: http://tools.vevb.com/password/createMd5password
Escape Encryption/Decryption Tool: http://tools.vevb.com/password/escapepwd
Alat Enkripsi SHA1 Online: http://tools.vevb.com/password/sha1encode
Tautan Pendek (URL Pendek) Alat pembuatan online: http://tools.vevb.com/password/dwzcreate
Rantai Pendek (URL Pendek) Alat Pemulihan Online: http://tools.vevb.com/password/unshorturl
Generator Kata Sandi Kekuatan Tinggi: http://tools.vevb.com/password/createStrongPassword
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.