背景:java的解密加密和js的对应这里做个记录,这里加密hello字符串为示例

CryptoJS.enc.Base64.stringify对应的加密示例

js加密

sign = 'hello';
var signmd5 = CryptoJS.MD5(sign);
var signbase64 = CryptoJS.enc.Base64.stringify(signmd5)
console.log("signmd5 = "+signmd5);
console.log("signbase64 = "+signbase64);

输出

signmd5 = 5d41402abc4b2a76b9719d911017c592
signbase64 = XUFAKrxLKna5cZ2REBfFkg==

java加密

这里注意包的选择,转md5base64用的是spring包下的,在转base64之前做了个byte转换用的是apache.commons.codec包下的。

import org.apache.commons.codec.digest.DigestUtils;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.io.UnsupportedEncodingException;
import java.util.Base64;
@SpringBootTest
class Utils2Tests {@Testpublic void test1() throws UnsupportedEncodingException {String str = "hello";String md5 = org.springframework.util.DigestUtils.md5DigestAsHex(str.getBytes("utf-8"));byte[] sign = DigestUtils.md5(str);String encodedString = Base64.getEncoder().encodeToString(sign);System.out.println("md5 = "+md5);System.out.println("base64 = "+encodedString);}
}

输出

md5 = 5d41402abc4b2a76b9719d911017c592
base64 = XUFAKrxLKna5cZ2REBfFkg==

至此jsjava加密一致的方法结束

CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse())对应的加密示例

js加密

sign = 'hello';
var signmd5 = CryptoJS.MD5(sign);
var signbase64 = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(signmd5));
console.log("signmd5 = "+signmd5);
console.log("signbase64 = "+signbase64);

输出
可以看到和最开始js加密的结果不一致,这里得到的是NWQ0MTQwMmFiYzRiMmE3NmI5NzE5ZDkxMTAxN2M1OTI= 然而最开始js加密结果是XUFAKrxLKna5cZ2REBfFkg==

signmd5 = 5d41402abc4b2a76b9719d911017c592
signbase64 = NWQ0MTQwMmFiYzRiMmE3NmI5NzE5ZDkxMTAxN2M1OTI=

java加密

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.util.DigestUtils;
import java.io.UnsupportedEncodingException;
import java.util.Base64;@SpringBootTest
class Utils2Tests {@Testpublic void test1() throws UnsupportedEncodingException {String sign = "hello";String md5 = DigestUtils.md5DigestAsHex(sign.getBytes("utf-8"));System.out.println("md5 = "+md5);String encodedString = Base64.getEncoder().encodeToString(md5.getBytes());System.out.println("base64 = "+encodedString);}
}

输出
可以看到和上面的js加密结果一致

md5 = 5d41402abc4b2a76b9719d911017c592
base64 = NWQ0MTQwMmFiYzRiMmE3NmI5NzE5ZDkxMTAxN2M1OTI=

java加密和js的CryptoJS加密相关推荐

  1. python js加密解密_AES用cryptojs加密,用python解密加密Ciph

    使用js CryptoJS加密和使用python解密时遇到问题密码密码在 这是我在js中的实现, 用加密消息附加iv并用base64编码 var message='Secreat Message to ...

  2. js des加密 java_java JS DES互相加密解密 通用!!!

    如果 出现 异常 javax.crypto.IllegalBlockSizeException 那就看我博客园的 另外一篇  解决这个异常 帮客户整了1天 试了N个JS 的方法 终于找我弄出来了! j ...

  3. js怎么实现对html代码加密解密,JS实现Base64加密解密

    JavaScript实现Base64加密解密.Base64与其说是加密算法不如说是方便数据传输而生的数据转换手段. 测试代码:html> test .resource_enc, .resourc ...

  4. java nodejs aes_Java与Node.js利用AES加密解密出相同结果的方法示例

    前言 工作中遇到nodejs端通过aes加密,安卓客户端Java解密,同样nodejs也需要解密安卓客户端加密过来的内容,发现两个加密结果不一样,查询资料发现java端需要对密钥再MD5加密一遍,以下 ...

  5. js实现md5加密,可以加密成16位或32位

    js实现md5加密,可以加密成16位或32位 md5在线加密工具 js实现md5加密 加密成16位 加密成32位 md5在线加密工具 md5在线加密工具,321在线工具站 https://www.32 ...

  6. java des加密与js解密

    java代码:import java.io.IOException; import java.security.SecureRandom;import javax.crypto.Cipher; imp ...

  7. ss加密php,js前端加密,php后端解密(crypto-js,openssl_decrypt)

    基于PHP和JS的AES相互加密解密方法详解(CryptoJS) 基于PHP和JS的AES相互加密解密方法详解(CryptoJS) 注意说明: 1. 首先引入CryptoJS包中的aes.js和pad ...

  8. RSA对称加密(JS加密,C#、Java解密)

    目录 一.背景介绍 二.工作原理 三.实现步骤 (一)JS前端加密,.NET后端解密 1.生成RSA加密的公钥和私钥. 2.前端js加密. 3.C#解密 (二)JS前端加密,Java后端解密 1.前端 ...

  9. java gcm_Java实现AES-GCM解密,JS实现AES-GCM加密。

    JS实现AES-GCM加密 首先我们先引用asmcrypto.js来实现JS端的加密. const asmcrypto = require('asmcrypto.js') 有了asmcrypto 对象 ...

最新文章

  1. iptables配置-Linux系统安全防火墙
  2. Fashion MNIST自编码器网络实战
  3. 微信公众平台消息接口PHP版
  4. 阿里云 OSS+CDN
  5. spring的事务有几种方式
  6. 学习响应式BootStrap来写融职教育网站,Bootsrtap第十一天Dplayer播放器
  7. Securing Spring Cloud Microservices With OAuth2
  8. 多媒体方面的应用程序java_Java编程之多媒体基础
  9. js 正则判断用户是否输入表情
  10. 自己手写一个Spring MVC框架
  11. 数学分析原理 定理 6.12
  12. Hadoop与Spark的集群复制
  13. for函数python_for函数python
  14. 层级结构——组合模式
  15. 【目标检测】39、一文看懂计算机视觉中的数据增强
  16. 找回 坚果云 的 选择性同步 功能
  17. chm文件导入java_Java CHM格式的API帮助文档的制作详解
  18. python提取excel一列或多列数据另存为新表(1)
  19. 浏览器输入url后怎样请求服务的
  20. 11_Flask之Session 设置session有效期 获取session 删除session

热门文章

  1. autodock windows安装对接使用、vina安装;openbabel安装使用
  2. 【论文笔记2】基于梯形面积估计的大规模网络异常检测几何面积分析新技术
  3. handbrake使用教程
  4. 另一个角度看快手,耀眼的不止是1.38万亿市值
  5. 婴儿奶粉销量分析 数据分析实战
  6. poj3133 Manhattan Wiring
  7. suite No.1 , BWV 1007, In G:Prelude
  8. 阿里云 华为云 esc 介绍
  9. 【MATLAB】matlab小记1
  10. 金高银真是韩圈里的清流,古典美的她穿上花裙子高级复古,很养眼