Java AES128加密解密

  • i9_355229
    了解作者
  • 10.5KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-10 05:34
    上传日期
Java AES128加密解密 示例源码(AES-ECB-PKCS7Padding)
Java AES128加密解密.zip
  • src
  • AES128ECBwithPKCS7.java
    2.8KB
  • .idea
  • libraries
  • org_bouncycastle_bcmail_jdk14_1_51.xml
    581B
  • commons_codec_commons_codec_1_1.xml
    360B
  • inspectionProfiles
  • workspace.xml
    38.8KB
  • modules.xml
    254B
  • misc.xml
    454B
  • out
  • production
  • KeyWordFilterDemo
  • AES128ECBwithPKCS7.class
    2.4KB
  • AESDemo.iml
    661B
内容介绍
import java.security.Security; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Hex; import javax.crypto.Cipher; import javax.crypto.Mac; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import javax.crypto.Cipher; import javax.crypto.Mac; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import javax.crypto.Cipher; import javax.crypto.Mac; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec;/** * * @author Ajit * * AES 128 bit ECB PKCS7 padding example * */ public class AES128ECBwithPKCS7 { //add new bouncycastle ciphers static { Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); } public static void main(String[] args) { // encryption key should be multiple of 16 character long String key = "abcdefghijklmnop"; String data = "0123456789"; String encrypted = AES128ECBwithPKCS7.encrypt(data, key); System.out.println("加密后数据: " + encrypted); String decrypted = AES128ECBwithPKCS7.decrypt(AES128ECBwithPKCS7.encrypt(data, key), key); System.out.println("解密后数据: " + decrypted); } /** * encrypt input text * * @param input * @param key * @return */ public static String encrypt(String input, String key) { byte[] crypted = null; try { SecretKeySpec skey = new SecretKeySpec(key.getBytes(), "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding"); cipher.init(Cipher.ENCRYPT_MODE, skey); crypted = cipher.doFinal(input.getBytes()); } catch (Exception e) { System.out.println(e.toString()); e.printStackTrace(); } //return new String(Base64.encodeBase64(crypted)); return new String(Hex.encodeHex(crypted)).toUpperCase(); // return new String(Base64.encodeBase64(crypted)); } /** * decrypt input text * * @param input * @param key * @return */ public static String decrypt(String input, String key) { byte[] output = null; try { SecretKeySpec skey = new SecretKeySpec(key.getBytes(), "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding"); cipher.init(Cipher.DECRYPT_MODE, skey); // output = cipher.doFinal(Base64.decodeBase64(input)); output = cipher.doFinal(Hex.decodeHex(input.toCharArray())); } catch (Exception e) { System.out.println(e.toString()); } return new String(output); } }
评论
    相关推荐
    • Java
      Java 对于Java练习
    • java
      Java Java基础
    • Java
      Java 我创建的Java项目
    • JAVA教程
      一本非常不错的清华大学java教程,讲解非常详细,看了就知道。
    • Java Cipher
      Java Cipher 加密和解密工具 附带源码 Java Cipher 加密和解密工具 附带源码 Java Cipher 加密和解密工具 附带源码 Java Cipher 加密和解密工具 附带源码
    • javabank
      Java银行 Java com的模拟操作将在bancárias上发布! 要求:Java 8。
    • java 李兴华
      java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java ...
    • JAVA教程
      详细介绍了JAVA语言程序设计,对JAVA的基础知识运用实例的方式来讲解,使初学者能够非常轻松的掌握。
    • java程序
      java程序-吃点点java程序-吃点点java程序-吃点点java程序-吃点点java程序-吃点点java程序-吃点点
    • Java
      Java 2021/02/19 .java Main.java 学生.java Bmi.java 。班级 Bmi类 主类 MyBmi.class 学生班 学生样本类 2021/02/20 .java DeleteFile.java WriteFile.java MyDataPrint.java 。班级 DeleteFile.class ...