util.SecurityUtil.java
package util; import java.security.Key; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class SecurityUtil { public static String DES = "AES"; // optional value AES/DES/DESede public static String CIPHER_ALGORITHM = "AES"; // optional value AES/DES/DESede public static Key getSecretKey(String key) throws Exception{ SecretKey securekey = null; if(key == null){ key = ""; } KeyGenerator keyGenerator = KeyGenerator.getInstance(DES); keyGenerator.init(new SecureRandom(key.getBytes())); securekey = keyGenerator.generateKey(); return securekey; } public static String encrypt(String data,String key) throws Exception { SecureRandom sr = new SecureRandom(); Key securekey = getSecretKey(key); Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM); cipher.init(Cipher.ENCRYPT_MODE, securekey, sr); byte[] bt = cipher.doFinal(data.getBytes()); String strs = new BASE64Encoder().encode(bt); return strs; } public static String detrypt(String message,String key) throws Exception{ SecureRandom sr = new SecureRandom(); Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM); Key securekey = getSecretKey(key); cipher.init(Cipher.DECRYPT_MODE, securekey,sr); byte[] res = new BASE64Decoder().decodeBuffer(message); res = cipher.doFinal(res); return new String(res); } public static void main(String[] args)throws Exception{ String message = "password"; String key = ""; String entryptedMsg = encrypt(message,key); System.out.println("encrypted message is below :"); System.out.println(entryptedMsg); String decryptedMsg = detrypt(entryptedMsg,key); System.out.println("decrypted message is below :"); System.out.println(decryptedMsg); } }
相关推荐
在对接java开发的加密方法,整理的PHP 对接java AES/ECB/PKCS7Padding加密转16进制字符串,加解密方法
Java实现AES和des对文件加密解密。Java实现AES和des对文件加密解密Java实现AES和des对文件加密解密
基于Java实现了DES正确加解密txt、jpg、docx、MP3等格式的文件,3DES以及AES加解密都实现了,除此之外,还实现了五种分组密码工作模式,内容很多。
是标准的AES算法,支持在线AES加解密网站互解。 本源码从CSDN一位前辈的源码基础上做了更改,增加支持加密返回BASE64,更加完善。在此感谢原作者: http://download.csdn.net/download/qiaohaidong/9477264 需要注意...
本篇文章主要介绍了Java使用Hutool实现AES、DES加密解密的方法,具有一定的参考价值,有兴趣的可以了解一下
SpringBoot控制器统一的响应体编码/加密与请求体解密的注解处理方式,支持MD5/SHA/AES/DES/RSA
商业项目使用报文和加解密和对数据进行加解密
本资源是基于VC6.0编写的源代码,其中AesCBC.h和AesCBC.cpp文件实现了AES CBC模式128位、192位和256位加解密算法,并附有相关接口使用的实例测试代码。
包括java自定义加密解密实例,异或加密解密实例,AES加密解密,DES加密解密 对文件加密建议使用DES方式 技术学习交流:635278789
php-des-aes加解密对接java时整理的java代码,部分路径改变,密钥等信息删除,基础加密代码未动,有兴趣的小伙伴可以学下看下。
AES高级加密标准,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种...本软件是用java语言开发,实现了AES算法对文件的加密和解密,并在界面上加了进度条,来提示用户加密解密的进度。如果不足之处,欢迎留言。
有关DES加密解密的工具类,提供JS、Java两个版本,只需要引入该类和文件,直接调用方法。
现在DES已经不是一种安全的加密算法,已被公开破解,现在DES已经被高级加密标准(AES)所代替。 3.3DES 3DES是DES的一种派生算法,主要提升了DES的一些实用所需的安全性。 4.AES AES是现在对称加密算法中最...
Java 加解密技术,详细介绍常用算法:BASE64/MD5/SHA/HMAC/DES/3DES/AES/PBE/RSA/DH,25页内容,有代码
基于Java开发的数据加密解密工具,可对字符串和文件类型进行加密解密,支持AES、DES和3DES三种常用的对称加密算法。
1. 密钥K1进DES加密 2. K2对步骤1的结果进DES解密 3. 步骤2的结果使密钥K1进DES加密
java代码实现各种加密算法:AES加密解密,RAS加密解密,DES加密解密,MD5加密,Base64加密解密,异或加密解密
JCryptoJS v3.1.2和JAVA加解密AES.zip。 js对明文密码加密再提交,后台java解密。 随机生成key放到session中,js用该key加密,java用该key解密。 即使登陆被抓包也无法登陆,不知晓key。
开发人员经常不可避免的会出现跨语言之间的加解密换算,经常会因此而出现这样那样的问题,这里给出一个AES加解密的源码,涵盖有C++,Java、C#3种语言的AES加解密。这是经过我验证之后可用的,现为大家贡献出来
java加密解密算法的集合,AES DES。