Java Cipher类解密|笔记
Posted aikongmeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Cipher类解密|笔记相关的知识,希望对你有一定的参考价值。
Cipher
类为加密和解密提供密码功能
Cipher
类可以构建多种加密算法,如DES
、AES
、Blowfish
对称加密算法,以及RSA
、DSA
、DH
等多种非对称加密算法
Cipher
类是一个引擎类,它需要通过getInstance()
工厂方法来实例化对象。
实例:
public static String decrypt(String base64Str, String key) throws Exception
byte[] bytes = key.getBytes(StandardCharsets.UTF_8);
//根据指定的字节数组构建密钥
SecretKey secretKey = new SecretKeySpec(bytes, "AES");
//get cipher Instance
Cipher instance = Cipher.getInstance("AES/CBC/NoPadding");
//用密钥和一组算法参数初始化此Cipher对象
instance.init(2, secretKey, new IvParameterSpec(bytes));
//解密
byte[] doFinal = instance.doFinal(Base64.getDecoder().decode(base64Str));
return new String(doFinal, StandardCharsets.UTF_8);
public static void main(String []args)
String bs64 = "sFoOJcpVPXmeWr+WAjUmsZA/CJPPsAAGHVrGW21aPGGJxnh7P6pxXeyAKpXnWTeVRkLSjufEfSHmZXiKj9xgfjBIQK7Te4OTy+Yn+S7t7vrsA+DJm6tfWJ3jhzAwfttBmHkmfYgE87HOfXJkdg96BDI21++NqcMKBjQp4gA9iBfo/Ac1L723OpftJRXjP5W857q4S0TvBMwMKE3VxlWHo8qa0NuTt4KP4V9nqaqv8wB0EEzfH7W5Jp7y8l+X6VgZr3FVJPOfn1hW3RieYE9P+DQkN4XH6dvPNiO7Uyk3MZ+VEupkGCUFIRoe4YKQsOWipcnFD/uytWiftT22potLlpR1f31WrYb20c8aBAveFg=";
String result= decrypt(bs64,"awdtif20190619ti");
System.out.println(result);
实例结果:
vmess://eyJhZGQiOiI2Ny4yMS43MC4xNjgiLCJhaWQiOiI2NCIsImhvc3QiOiJ3d3cuMzAzNzk5MzkueHl6IiwiaWQiOiI2ZTM3ZGZkMy01MzRkLTQ0ZjItODI4ZC0xNmU3YTljMGJmYjIiLCJuZXQiOiJ3cyIsInBhdGgiOiJcL2Zvb3RlcnMiLCJwb3J0Ijo0NDMsInBzIjoxMzMsInRscyI6InRscyIsInR5cGUiOiJkdGxzIiwidiI6IjIifQ==
参考文献
梁栋. Java加密与解密的艺术
以上是关于Java Cipher类解密|笔记的主要内容,如果未能解决你的问题,请参考以下文章