java sha1加密 和 python sha1 加密结果不一致

问题描述

java sha1加密 和 python sha1 加密结果不一致

java代码

        MessageDigest messageDigest = MessageDigest.getInstance(algorithm);
        messageDigest.update(value.getBytes());
        return bytesToHexString(messageDigest.digest());

python 代码

      md = hashlib.sha1()
      md.update(value.encode('utf-8'))
                md.digest()

初学python 大神帮忙看看

解决方案

print(hashlib.sha1(value.encode('utf-8')).hexdigest()) 这是我用的你试一下

解决方案二:

http://stackoverflow.com/questions/33807745/java-and-python-not-getting-the-same-sha-1-value

解决方案三:

一个应用,需要计算sha1加密,但和java的结果却不同,java的是正确的

Python代码 收藏代码
import hashlib

print hashlib.sha1('fetion.com.cn:123456').hexdigest()

结果:78fdd307349087f375cdabd3acbf7bf84e33ad51
Java代码 收藏代码
System.out.println(MessageDigest.getInstance("SHA-1").digest("fetion.com.cn:123456".getBytes()));

结果:871D0A9E95ABA22B4604224CFBA24E605FABBC34
因为python没有byte这个对象,而java是用byte进行hash计算的~
决解办法:可以试下http://stackoverflow.com/questions/13019598/python-hmac-sha1-vs-java-hmac-sha1-different-results。

解决方案四:

举个简单例子,下面这个是 SHA1 加密的一个函数,完全可以用来加密口令, SHA1 加密是 160 位的哈希加密方法。(两个不同字串加密后重复的概率极低,能将小的变化放到成大的变化,即是只错一个字母,加密结果也完全不同。) 特别适合加密口令:加密后,登陆时,重新计算用户输入的密码的 SHA1 值,如果与数据库中存储的一致,则证明用户登陆成功。管理员无法从数据库看到的 SHA1 值反推出真实密......
答案就在这里:SHA1 加密

时间: 2024-09-27 15:57:21

java sha1加密 和 python sha1 加密结果不一致的相关文章

JS实现的base64加密、md5加密及sha1加密详解_javascript技巧

本文实例讲述了JS实现的base64加密.md5加密及sha1加密.分享给大家供大家参考,具体如下: 1.base64加密 在页面中引入base64.js文件,调用方法为: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>base64加密</title> <script type="text/javascript" s

为什么java的sha1加密和javascript的sha1加密相同的字符串输出结果不同

问题描述 为什么java的sha1加密和javascript的sha1加密相同的字符串输出结果不同 如题,加班纠结好久,求大神:如题,加班纠结好久,求大神:如题,加班纠结好久,求大神 解决方案 java sha-1加密函数java HMAC_SHA1加密 解决方案二: 确定加密机制是一样的? 解决方案三: 首先要看两者是不是同样类型的方式处理的数据. 解决方案四: 做测试:http://www.oschina.net/code/snippet_87799_739http://www.open-o

RSA/SHA1加密和数字签名算法在开放平台中的应用

RSA/SHA1加密和数字签名算法在开放平台中的应用 加密算法 加密算法分为两大类:1.对称加密算法:2.非对称加密算法. 密钥个数 加密 解密 对称加密 一个 使用密钥加密 使用同一个密钥解密 非对称加密 两个,公钥和私钥 使用其中一把密钥加密 使用另外一把密钥解密 RSA非对称加密算法 RSA是目前应用最广泛的非对称加密算法,各种语言都支持RSA算法,如Java,Python,C++(openssl),Go(openssl),PHP(openssl),Object-C,Android,jav

android开发中MD5和SHA1加密实例

首先,我们来分享MD5和SHA1加密的函数. public class MD5 { private static String key = "a6U&1$Ip[Jr/sed]Rfvn=O>Mz+}lXN*%-gLcGD|0"; //MD5加密实例public static String getMD5(String str) throws NoSuchAlgorithmException {MessageDigest md5 = null;try {md5 = Messag

asp实现的sha1加密解密代码(和C#兼容)_应用技巧

在百度找的几个asp sha1(vbs写的)加密结果和asp.net的sha1加密结果不一样,asp.net sha1加密完后是40位,网上找的asp sha1加密是64位,还以为asp.net做了截取(如网上的asp的md5机密和asp.net位数不一样,是做了截取的问题),但是asp的64位加密结果并没有包含asp.net的40位结果,看来找到的版本和asp.net的加密算法不一样.   最后还是靠翻墙用google找到了一个js版本的sha1加密代码结合asp使用后结果和asp.net的s

asp实现的sha1加密解密代码(和C#兼容)

在百度找的几个asp sha1(vbs写的)加密结果和asp.net的sha1加密结果不一样,asp.net sha1加密完后是40位,网上找的asp sha1加密是64位,还以为asp.net做了截取(如网上的asp的md5机密和asp.net位数不一样,是做了截取的问题),但是asp的64位加密结果并没有包含asp.net的40位结果,看来找到的版本和asp.net的加密算法不一样.   最后还是靠翻墙用google找到了一个js版本的sha1加密代码结合asp使用后结果和asp.net的s

ASP.NET with C#使用md5,sha1加密初探

asp.net|加密 /******雪龙原创*******///版权所有,末经作者同意不得转载 今天的实验还是比较顺利的,早上正则表达式用得很爽,晚上的MD5和SHA1加密也是没什么难度就用上了,下面是实验总结(洗衣机在洗衣服,趁机上网写点东西). 先补充点加密知识:MD5和SHA1都是散列加密技术,所谓的散列加密就是无论你的输入字符串是什么,有多长,加密后都变成唯一的定长的加密串,MD5加密后的密串长度有16位的和32位两种,SHA1我今天数了一下有40位,这种加密方式的特点是加密方式是公开的

c# sha 1 base64-C# 求先sha-1加密再base64加密方法

问题描述 C# 求先sha-1加密再base64加密方法 string a=""2010082108334600001"";string b=""2010-08-21T08:33:46Z"";string c=""123456""; string result=base64(sha-1(a+b+c)); 求sha-1和base64实现过程? 谢谢! 解决方案 实现过程都是算法定义好的,算

各种加密解密函数(URL加密解密、sha1加密解密、des加密解密)

原文:各种加密解密函数(URL加密解密.sha1加密解密.des加密解密) 普通hash函数如md5.sha1.base64等都是不可逆函数.虽然我们利用php可以利用这些函数写出可逆函数来.但是跨语言时这类可逆函数非常难搞定.所以这时尽量使用AES DES RC4 Rabbit TripleDes这些方法. 包含超时的加密解密函数 1 /** 2 * 加密 3 * @param string $string 要加密或解密的字符串 4 * @param string $operation 加密