java实现AES加密解密
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加密解密相关推荐
- java php aes加密解密_php aes 加密解密可与java对接
php aes 加密解密可与java对接 博主:liu1693 发表时间:2017-02-23 16:52:27 浏览量:100 class Encrypt{ //加密方法 public static ...
- ios java aes_PHP7 AES加密解密函数_兼容ios/andriod/java对等加解密
**PHP7.0 7.1 7.2 7.3 AES对等加解密类 函数文件_兼容ios/andriod/java等** 由于新项目规划要求使用PHP7.2开发环境,但在部分新系统中仍需使用AES加解密方式 ...
- Java使用AES加密解密
AES加密机制: 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准. 这个标准用来替代原先的 ...
- java android aes加密解密_AES加密解密在JAVA和ANDROID下互通
昨天外包安卓的那个人说AES的加解密结果不一样.于是百度搜索发现还真是! 贴上AES加密核心: Cipher cipher = Cipher.getInstance("AES/CBC/PKC ...
- java aes加密 base64_【java】AES加密解密|及Base64的使用
AES加解密算法,使用Base64做转码以及辅助加密: package com.wintv.common; import javax.crypto.Cipher; import javax.crypt ...
- CryptoJS、Java中aes加密解密
前台 加密 // 16进制密文 function aesHexCryptoAesEncryption(word) {if (typeof (word) === 'object') { // 对象格式的 ...
- aes加密算法python语言实现_C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现[转载]...
原文:http://outofmemory.cn/code-snippet/35524/AES-with-javascript-java-csharp-python-or-php c#里面的AES加密 ...
- AES加密解密算法Java实现
AES加密算法是密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DE ...
- java AES加密解密
近些年DES使用越来越少,原因就在于其使用56位密钥,比较容易被破解,近些年来逐渐被AES替代,AES已经变成目前对称加密中最流行算法之一:AES可以使用128.192.和256位密钥,并且用128位 ...
最新文章
- cad文字递增快捷键_十年经验总结,100个CAD快捷键。
- 开源纯C#轻量级数据库引擎:SharpHSQL 1.0.3.0版本
- git和gitlab安装
- Java快速入门学习笔记2 | Java语言中的基本类型
- C语言课后习题(50)
- ninjala服务器维护,Ninjala2.0版本更新内容一览
- NumPy Beginner's Guide 2e 带注释源码 九、使用 Matplotlib 绘图
- 图的广度优先搜索遍历
- mysql事物介绍_MySQL--事务介绍
- oracle 基本dos命令,Oracle 常用 Dos命令
- sql round函数(case函数)
- 阿里巴巴集团CTO张建锋:将开放阿里的技术能力
- ubuntu安装vmware12出现cannot ope dev/vmmon及modprobe vmmon提示密钥无效的解决办法
- html的后代选择器,CSS3后代选择器和同级选择器简介和实例_html/css_WEB-ITnose
- 配音软件哪个好用?好用的配音软件有哪些?你不知道的3款配音软件
- XML Guest Book
- 国家二级计算机考试大纲,计算机国家二级考试大纲.doc
- 50道HIVE练习题-搞定了这50题hive sql,那可不嘚直接通关起飞!!!
- sql server如何修改服务器名称,SQL Server 2014改服务器名称为(local)的方法
- 设置双击JAD文件打开的模拟器