В этой статье описывается использование шестигранного кодирования и декодирования для реализации шифрования и расшифровки AES. Поделитесь этим для вашей ссылки, следующим образом:
Здесь метод шифрования и дешифрования AES кодируется и декодируется с использованием HEX.
Пакет com.baidu.wallet.bdwallet.utils; импорт java.io.unsupportedencodingexception; импорт java.security.invalidkeexception; импорт java.security.nosuchalgorithmexcept Sizeexception; импорт javax.crypto.nosuchpaddingexception; импорт javax.crypto.spec.secretkeyspec; импорт org.apache.commons.codec.decoderexception; импорт org.apache.commons.codec.binary.hex; OWS Decoderexception */ Private Static Byte [] Encrypt (String Content, String Pkey) бросает Decoderexception {try {string private_key = pkey; (); Cipher.getinstance ("AES/ECB/PKCS5Padding"); ); Catch (InvalidKeexception e) {e.printstacktrace (); @param contents * @param password * @return * @throhs decoderexception */ private static byte [] Decrypt (String Contents, String Password) Throws Decoderexception {try {// Использовать шестигранник, чтобы декодировать байт цифктериального текста. Chararray ()); cipher = cipher.getinstance (AES); ception e) {e.printstacktrace (); (Allodalblocksizexception e) {e.printstacktrace (); {// зашифрованный открытый текст становится Byte Ciphertext Byte [] encryptresult = Encrypt (context, private_key); (String Context, String private_key) бросает decoderexception, USOPPORTEDENCODINGEXCEPTION {// HEX Декодирование выполняется до расшифровки цифрового текста. 123456787654321 "; // AES Шифрование и ключ для дешифрования String Password =" Это значение обычно дается, оба отправителя знают "; // incrypt system.out.println ("До шифрования:" + Content); .out.println ("После расшифровки:" + result);Нет проблем с этим методом в формальных проектах.
Приведенный выше метод используется в org.apache.commons.codec.binary.hex.
<Depective> <groupId> commons-codec </GroupId> <artifactid> commons-codec </artifactid> <sersive> 1.4 </version> </depervice>
Примечание: вы должны использовать версию 1.4 и выше здесь, и не должно быть никакого Hex.encodeHexstring (Byte []) метод ниже 1.4!
PS: друзья, которые заинтересованы в шифровании и дешифровании, также могут относиться к онлайн -инструментам этого сайта:
Безопасность пароля онлайн -обнаружение:
http://tools.vevb.com/password/my_password_safe
Высокопрочный генератор паролей:
http://tools.vevb.com/password/createstrongpassword
Инструменты гром, экспресс и торнадо URL
http://tools.vevb.com/password/urlrethunder
Инструмент по шифрованию хэша/хэш -хэш -хэша:
http://tools.vevb.com/password/hash_encrypt
Онлайн MD5/HASH/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160 Инструмент шифрования:
http://tools.vevb.com/password/hash_md5_sha
Онлайн SHA1/SHA224/SHA256/SHA384/SHA512 Инструмент шифрования:
http://tools.vevb.com/password/sha_encode
Я надеюсь, что эта статья будет полезна для всех Java Programming.