Cet article décrit l'algorithme de cryptage AES mis en œuvre par Java. Partagez-le pour votre référence, comme suit:
Importer javax.crypto.cipher; import javax.crypto.spec.ivParameterspec; import javax.crypto.spe.secretkeyspec; import android.util.base64; / ** * @author vipin.cb, [email protected] <br> * SEP 27, 2013, 5. <br> * Package: - <b> com.veebow.util </b> <br> * Projet: - <b> veebow </b> * <p> * / public class Aescrypt {private final Cipher Cipher; Clé privé SecretKeyspec; AlgorithMParameTetersPEC Spec; Public Static Final String Seed_16_Character = "U1MJU1M0FDOUZ.QZ"; public aescrypt () lève une exception {// mot de passe de hachage avec SHA-256 et recadre la sortie à 128 bits pour les clés MessagediGest Digest = MessagediGest.getInstance ("SHA-256"); digest.update (seed_16_character.getBytes ("utf-8")); octet [] keyBytes = nouveau octet [32]; System.ArrayCopy (digest.digest (), 0, keyBytes, 0, keyBytes.Length); cipher = cipher.getInstance ("aes / cbc / pkcs7padding"); key = new SecretKeyspec (KeyBytes, "AES"); spec = geniv (); } public algorithMParameterspec geniv () {octet [] 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 = new ivParameterspec (iv); retour ivParameterspec; } public String Encrypt (String PlainText) lève une exception {cipher.init (cipher.encrypt_mode, key, spec); octet [] crypted = cipher.dofinal (plaintext.getBytes ("utf-8")); String EncryptedText = new String (base64.encode (Ecrypted, base64.default), "UTF-8"); return EncryptedText; } public String Decrypt (String crypteTText) lève l'exception {cipher.init (cipher.decrypt_mode, key, spec); octet [] bytes = base64.decode (cryptedText, base64.default); octet [] décrypté = cipher.dofinal (octets); String decryptedText = new String (Decrypted, "UTF-8"); return decryptedText; }}
PS: Les amis qui sont intéressés par le cryptage et le décryptage peuvent également se référer aux outils en ligne de ce site:
Détection en ligne de sécurité de mot de passe:
http://tools.vevb.com/password/my_password_safe
Générateur de mots de passe à haute résistance:
http://tools.vevb.com/password/createstrongpassword
Outil de cryptage en ligne MD5:
http://tools.vevb.com/password/createmd5password
Outils de chiffrement / décryptage des URL express et express et de tornade:
http://tools.vevb.com/password/urlrethunder
Outil de chiffrement en ligne de hachage / hachage de hachage:
http://tools.vevb.com/password/hash_encrypt
J'espère que cet article sera utile à la programmation Java de tous.