javascript md5 二次加密 和 java md5 二次加密结果不同

最近研究httpclient post 时遇到了一个问题,很费解。

js  md5(str) 和 java md5(str),第一次md5 加密结果一样,(当时忽略了大小写问题,java
大写,js小写)。

但是

js      md5( md5(str) ), java   md5( md5(str) )
也就是说第二次 md5 加密确又不一样了。

当时很无语,第一次一样,第二次为什么又 不一样了呢?

原来是大小写问题,md5 加密,都是网上找的代码,第一次md5加密,java返回结果是大写,而js 是小写,忽略大小写,2者返回结果一样。

第一次的大小写问题,导致了第二次md5 加密的不同,仅此而已。

时间: 2024-08-08 02:05:33

javascript md5 二次加密 和 java md5 二次加密结果不同的相关文章

md5 32位 加密原理 Java实现md5加密

md5 32位 加密原理 简单概括起来,MD5 算法的过程分为四步:处理原文,设置初始值,循环加工,拼接结果. 第一步:处理原文 首先,我们计算出原文长度(bit)对 512 求余的结果,如果不等于 448,就需要填充原文使得原文对 512 求余的结果等于 448.填充的方法是第一位填充 1,其余位填充 0.填充完后,信息的长度就是 512*N+448. 之后,用剩余的位置(512-448=64 位)记录原文的真正长度,把长度的二进制值补在最后.这样处理后的信息长度就是 512*(N+1). 第

关于php MD5加密 与java MD5 加密结果不一致的问题

针对PHP不是UTF-8编码导致的问题 public String md5(String txt) {              try{                   MessageDigest md = MessageDigest.getInstance("MD5");                   md.update(txt.getBytes("GBK"));    //问题主要出在这里,Java的字符串是unicode编码,不受源码文件的编码影响

2015-6-8 用javascript+ Java+md5解决http协议下,用户登录明文传输密码问题

不应该说是前段时间了,就最近吧,发现公司有一个系统用的还是Http协议,当时就想了,现在都用https协议,有证书的那安全大很多啊 ,还用http不会连加密都没有吧,找了一番,果然如此,别说是传输加密了,就连后台保存到数据库的密码都没有加密,本着闲的蛋疼的想法(主要是公司大部分是业务,感觉想跳啊),于是一个毁(无)天(聊)灭(之)地(极)的计划就这样诞生了,咳咳... 好了不废话,下面说下简单的思路: 用户登录页面,获取到用户密码,用MD5加密,然后进行传输,服务器端获取的是一个加密过的密码.然

js和java MD5加密

项目中用到js MD5加密和后台java MD5加密,刚开始加密后两个不一致,网上找了好久终于找到一个啦,记下来: md5.js /* * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message * Digest Algorithm, as defined in RFC 1321. * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002. * Other co

使用Java MD5 为文件和字符串加密

加密工具类 package com.kaige123.util; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.security.MessageDigest; /** * MD5文字和文件加密<br> * http

JavaScript加密库jQuery.md5.js

JavaScript简单的MD5加密库jQuery.md5.js,简单用法如下: //Create (hex-encoded) MD5 hash of a given string value: var md5 = $.md5('value'); //Create (hex-encoded) HMAC-MD5 hash of a given string value and key: var md5 = $.md5('value', 'key'); //Create raw MD5 hash o

Java 关于密码处理的工具类[MD5编码][AES加密/解密]

项目中又遇到了加密问题,又去翻了半天,然后做测试,干脆就把常用的两类小结一下. 1.第一种所谓的MD5加密 其实也不算加密,只是基于Hash算法的不可逆编码而已,等于说,一旦经过MD5处理,是不可能从编码后的字符串反推回去的. MD5的方法是基于散列的.本身信息不全.理论上是不能还原成唯一字符串的. 网上所谓的解密,也只是拥有一个足够大的字典映射,将编码前的源字符和编码后的目标字符关联起来而已,大多数常见的还行,复杂点的估计就会话费很长时间,有兴趣的可以试试. 至于MD5的用法,在初次录入的时候

BASE64,MD5,SHA,HMAC加密與解密算法(java)

package com.ice.webos.util.security; import java.io.UnsupportedEncodingException; import java.math.BigInteger; import java.security.Key; import java.security.MessageDigest; import java.security.SecureRandom; import javax.crypto.Cipher; import javax.c

Java MD5加密与RSA加密

区别: MD5加密: 加密时通过原字符串加密成另一串字符串 解密时需要原加密字符串进行重新加密比较两次加密结果是否一致 T=RSA加密: 加密时通过原字符串生成密钥对(公钥+私钥) 解密时通过公钥和私钥进行解密,解密出原字符串进行比较是否一致 个人观点: RSA加密略比MD5加密牛逼一点点 但凡事都有好坏    MD5加密执行效率比RSA慢 废话不多说上栗子: MD5加密: package cn.news.util; import java.security.MessageDigest; /**