public class PartnerSign {private PartnerSign() {}/*** AES加密方法** @param content  明文内容* @param password 密码* @return 解密后字节数组转十六进制字符串*/public static String encrypt(String content, String password) throws Exception {SecretKeySpec key = generateKey(password);Cipher cipher = Cipher.getInstance("AES");// 创建密码器byte[] byteContent = content.getBytes("utf-8");cipher.init(Cipher.ENCRYPT_MODE, key);// 初始化为加密模式的密码器byte[] result = cipher.doFinal(byteContent);// 加密return Hex.encodeHexString(result);}/*** AES解密** @param content  密文内容* @param password 密码* @return 解密后的明文* @throws Exception */public static String decrypy(String content, String password) throws Exception {SecretKeySpec key = generateKey(password);Cipher cipher = Cipher.getInstance("AES");// 创建密码器cipher.init(Cipher.DECRYPT_MODE, key);// 初始化byte[] array = Hex.decodeHex(content.toCharArray());byte[] result = cipher.doFinal(array);return new String(result); // 加密}/*** 生成key* @Title: generateKey* @param password* @return SecretKeySpec* @throws NoSuchAlgorithmException */private static SecretKeySpec generateKey(String password)throws NoSuchAlgorithmException {KeyGenerator kgen = KeyGenerator.getInstance("AES");SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG" );  secureRandom.setSeed(password.getBytes());  kgen.init(128, secureRandom);// 利用用户密码作为随机数初始化出SecretKey secretKey = kgen.generateKey();byte[] enCodeFormat = secretKey.getEncoded();SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");return key;}
}

java实现AES加密解密相关推荐

  1. java php aes加密解密_php aes 加密解密可与java对接

    php aes 加密解密可与java对接 博主:liu1693 发表时间:2017-02-23 16:52:27 浏览量:100 class Encrypt{ //加密方法 public static ...

  2. ios java aes_PHP7 AES加密解密函数_兼容ios/andriod/java对等加解密

    **PHP7.0 7.1 7.2 7.3 AES对等加解密类 函数文件_兼容ios/andriod/java等** 由于新项目规划要求使用PHP7.2开发环境,但在部分新系统中仍需使用AES加解密方式 ...

  3. Java使用AES加密解密

    AES加密机制: 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准. 这个标准用来替代原先的 ...

  4. java android aes加密解密_AES加密解密在JAVA和ANDROID下互通

    昨天外包安卓的那个人说AES的加解密结果不一样.于是百度搜索发现还真是! 贴上AES加密核心: Cipher cipher = Cipher.getInstance("AES/CBC/PKC ...

  5. java aes加密 base64_【java】AES加密解密|及Base64的使用

    AES加解密算法,使用Base64做转码以及辅助加密: package com.wintv.common; import javax.crypto.Cipher; import javax.crypt ...

  6. CryptoJS、Java中aes加密解密

    前台 加密 // 16进制密文 function aesHexCryptoAesEncryption(word) {if (typeof (word) === 'object') { // 对象格式的 ...

  7. aes加密算法python语言实现_C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现[转载]...

    原文:http://outofmemory.cn/code-snippet/35524/AES-with-javascript-java-csharp-python-or-php c#里面的AES加密 ...

  8. AES加密解密算法Java实现

    AES加密算法是密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DE ...

  9. java AES加密解密

    近些年DES使用越来越少,原因就在于其使用56位密钥,比较容易被破解,近些年来逐渐被AES替代,AES已经变成目前对称加密中最流行算法之一:AES可以使用128.192.和256位密钥,并且用128位 ...

最新文章

  1. cad文字递增快捷键_十年经验总结,100个CAD快捷键。
  2. 开源纯C#轻量级数据库引擎:SharpHSQL 1.0.3.0版本
  3. git和gitlab安装
  4. Java快速入门学习笔记2 | Java语言中的基本类型
  5. C语言课后习题(50)
  6. ninjala服务器维护,Ninjala2.0版本更新内容一览
  7. NumPy Beginner's Guide 2e 带注释源码 九、使用 Matplotlib 绘图
  8. 图的广度优先搜索遍历
  9. mysql事物介绍_MySQL--事务介绍
  10. oracle 基本dos命令,Oracle 常用 Dos命令
  11. sql round函数(case函数)
  12. 阿里巴巴集团CTO张建锋:将开放阿里的技术能力
  13. ubuntu安装vmware12出现cannot ope dev/vmmon及modprobe vmmon提示密钥无效的解决办法
  14. html的后代选择器,CSS3后代选择器和同级选择器简介和实例_html/css_WEB-ITnose
  15. 配音软件哪个好用?好用的配音软件有哪些?你不知道的3款配音软件
  16. XML Guest Book
  17. 国家二级计算机考试大纲,计算机国家二级考试大纲.doc
  18. 50道HIVE练习题-搞定了这50题hive sql,那可不嘚直接通关起飞!!!
  19. sql server如何修改服务器名称,SQL Server 2014改服务器名称为(local)的方法
  20. 设置双击JAD文件打开的模拟器

热门文章

  1. 如何上手机上不了无线网络连接服务器,手机wifi连接上了但上不了网
  2. 看起来不复杂的网站 淘宝、腾讯为何要大量顶尖高手来开发?
  3. html实现类似app的欢迎页,css3动画代替js脚本实现欢迎页面动画
  4. ngnix配置和使用
  5. js获取时间年月日时间戳等方法
  6. 常见数据加密解密算法(特征值)
  7. 1245 树的直径
  8. android 马达模块,小米9 Pro定制超大号横向线性马达:可能是安卓手机中最好的...
  9. 云上建站-服务器选购篇
  10. Json数据格式要求