Artikel ini menjelaskan algoritma enkripsi AES yang diimplementasikan oleh Java. Bagikan untuk referensi Anda, sebagai berikut:
Impor javax.crypto.cipher; import javax.crypto.spec.ivparameterspec; import javax.crypto.spec.secretkeyspec; import android.util.base64;/** * @Author vipin.cb, vipin.cb@experion: ** @Author vipin.cb, [email protected]* * Paket:- <b> com.veebow.util </b> <br> * Proyek:- <b> veebow </b> * <p> */kelas publik aescrypt {private final cipher cipher; kunci final secretkeyspec privat; AlgorithmParameterspec Spec; Public Static Final String seed_16_character = "u1mju1m0fdouz.qz"; public aescrypt () melempar Exception {// Hash Password dengan SHA-256 dan potong output ke 128-bit untuk Key MessageDigest Digest = MessageDigest.getInstance ("SHA-256"); Digest.update (seed_16_character.getbytes ("UTF-8")); byte [] keybytes = byte baru [32]; System.ArrayCopy (Digest.Gest (), 0, KeyBytes, 0, KeyBytes.Length); cipher = cipher.getInstance ("aes/cbc/pkcs7padding"); KEY = SecretKeySpec baru (KeyBytes, "AES"); spec = getiv (); } Public AlgorithMParameterspec getiv () {byte [] iv = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,}; Ivparameterspec ivparameterspec; ivparameterspec = ivparameterspec baru (iv); kembalikan ivparameterspec; } public string encrypt (String plaintext) melempar Exception {cipher.init (cipher.encrypt_mode, key, spec); byte [] dienkripsi = cipher.dofinal (plaintext.getbytes ("UTF-8")); String encryptedText = string baru (base64.encode (dienkripsi, base64.default), "UTF-8"); return encryptedText; } public string decrypt (String cryptedText) melempar Exception {cipher.init (cipher.decrypt_mode, key, spec); byte [] bytes = base64.decode (cryptedText, base64.default); byte [] decrypted = cipher.dofinal (bytes); String decryptedText = string baru (decrypted, "UTF-8"); return decryptedText; }}
PS: Teman yang tertarik dengan enkripsi dan dekripsi juga dapat merujuk pada alat online dari situs ini:
Deteksi Online Keamanan Kata Sandi:
http://tools.vevb.com/password/my_password_safe
Generator Kata Sandi Kekuatan Tinggi:
http://tools.vevb.com/password/createStrongPassword
Alat Enkripsi Online MD5:
http://tools.vevb.com/password/createMd5password
Alat enkripsi/dekripsi URL Tornado, dan Tornado:
http://tools.vevb.com/password/urlrethunder
Alat Enkripsi Algoritma Hash/Hash Online:
http://tools.vevb.com/password/hash_encrypt
Saya harap artikel ini akan membantu pemrograman Java semua orang.