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 大神帮忙看看

0

4个回答

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

0
1

举个简单例子,下面这个是 SHA1 加密的一个函数,完全可以用来加密口令, SHA1 加密是 160 位的哈希加密方法。(两个不同字串加密后重复的概率极低,能将小的变化放到成大的变化,即是只错一个字母,加密结果也完全不同。) 特别适合加密口令:加密后,登陆时,重新计算用户输入的密码的 SHA1 值,如果与数据库中存储的一致,则证明用户登陆成功。管理员无法从数据库看到的 SHA1 值反推出真实密......
答案就在这里:SHA1 加密
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

0

一个应用,需要计算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。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
sha1 加密,C#与php加密结果不一样
今天在对接别人系统的时候,发现一个很坑的问题,sha1 加密的问题 别人系统sha1 加密是php编写的,我们是C#。 同样是对字符串 123456 加密,C#的sha1加密字符串是fEqNCco3Yq9h5ZUglD3CZJT4lBs= php的加密字符是7c4a8d09ca3762af61e59520943dc26494f8941b 解决这样的问题,推荐一下: ///
C#与PHP中SHA1加密结果不同解决方法
那天在调试API的时候,发现用c#写的SHA1加密出来的结果和PHP中sha1()出来的不一样,找了半天的原因后来才弄出来在调试微信接口的时候大多的帮助文档都是提供的是PHP的方法,所以在.net中实现的时候会出现很多的问题,最典型的就是token通不过验证现在提供一个结果与Php一样 的SHA1方法public static string Sha1Sign(string data) { ...
URL带中文传入java后台SHA1和本地直接SHA1不相同的解决
restful模拟请求带中文参数,到后台拿到参数是gbk的编码格式,如果工程使用utf-8编码就需要转换,转换方法: String utf8 = new String(gbk);
JAVA非对称加密不同系统加密结果不一致
最近在做一个项目,需要用到非对称加密,但是出现一个很诡异的情况,本地开发环境是Windows环境,测试环境是Linux环境,出现一个问题, 那就是本地环境与开发环境同一个私钥字符串加密加密同一个信息,得到的加密结果不一样。 经过查询网络得知,这是由于填充的规则不同导致。 原来的加密的部分代码 byte[] keyBytes = Base64.decodeBase64(privateKey);...
java SHA1加密
简单的SHA1加密
java sha1加密 和 python sha1 加密结果不一致
java代码rnrn MessageDigest messageDigest = MessageDigest.getInstance(algorithm);rn messageDigest.update(value.getBytes());rn return bytesToHexString(messageDigest.digest());rn rnpython 代码rnrn md = hashlib.sha1()rn md.update(value.encode('utf-8'))rn md.digest()rn rn初学python 大神帮忙看看
python-sha1和base64加密实际问题的解决
今天笔者分享的是简单的加密破解的方法,主要分享怎样更加简单的查找加密的文件一些小技巧和方法。 一: 目标的路径:http://www.zjyypt.net/portal/login.action,需要账号和密码,账号和密码这里就不在提供。 主要需要解决的问题如下图所示: 从圈出的可知,密码和作者编码都进行了加密,那么怎么分析这些加密并将其破解出来呢?笔者在这里分享一...
SHA1 加密
举个简单例子,下面这个是 SHA1 加密的一个函数,完全可以用来加密口令, SHA1 加密是 160 位的哈希加密方法。(两个不同字串加密后重复的概率极低,能将小的变化放到成大的变化,即是只错一个字母,加密结果也完全不同。) 特别适合加密口令:加密后,登陆时,重新计算用户输入的密码的 SHA1 值,如果与数据库中存储的一致,则证明用户登陆成功。管理员无法从数据库看到的 SHA1 值反推出真实密
python sha1加密字符串
直接调用该方法即可实现sha1加密 def get_str_sha1_secret_str(res:str): import hashlib """ 使用sha1加密算法,返回str加密后的字符串 """ sha = hashlib.sha1(res.encode('utf-8')) encrypts = sha.hexdigest() pr...
JAVA SHA1加密-微信签名适用
JAVA SHA1加密算法,适合微信支付签名用
SHA1 加密 你不知道的事 针对含有中文编码加密处理
相信大家很多人都在用sha1加密,我们都一样这样用,百度,然后copy,能用,不再观察,的确谁都这样,强大的压力让我们只能粘贴复制 那么sha1中含有中文时怎么处理呢!
java中的SHA1加密
SHA简介 SHA(Secure Hash Algorithm,安全散列算法)属于消息摘要算法之一。 SHA-0算法由于存在降低密码安全性错误,所以未被正式推广就淘汰了后来推出SHA-1算法(有关算法的详情可以参照http://www.ietf.org/rfc/rfc3174.txt)。后来又出现了SHA-224、SHA-256等SHA算法的变体,一般将这些算法...
iOS---sha1加密的一个坑
OC语言写的sha1加密算法,在网上随手可以搜索到(如下便是),但是我不得不说有一些人不责任,没有提醒大家导入必要的系统头文件,从而导致错误 + (NSString *) sha1:(NSString *)inputStr {     const char *cstr = [inputStr cStringUsingEncoding:NSUTF8StringEncoding];     N
nodejs和java的AES加密结果保持一致
工作中遇到nodejs端通过aes加密,安卓客户端java解密,同意nodejs也需要解密安卓客户端加密过来的内容,发现两个加密结果不一样,查询资料发现java端需要对密钥za再MD5加密一遍,以下是aes ecb加密的内容,如果是cbc也同样需要对秘钥MD5加密: nodejs: /** * aes加密 * @param data * @param secretKey */
HMACSHA1 加密算法
HMACSHA1 是从 SHA1 哈希函数构造的一种键控哈希算法,被用作 HMAC(基于哈希的消息验证代码)。 此 HMAC 进程将密钥与消息数据混合,使用哈希函数对混合结果进行哈希计算,将所得哈希值与该密钥混合,然后再次应用哈希函数。 输出的哈希值长度为 160 位。 在发送方和接收方共享机密密钥的前提下,HMAC 可用于确定通过不安全信道发送的消息是否已被篡改。 发送方计算原始数
加密算法之C#兼容PHP中sha1加密
加密算法之C#兼容PHP中sha1加密
base64、md5 、sha1 加密使用方法前端加密
  base64 var jiami= window.btoa(str)      加密 var jiemi= window.atob(jiami)    解密   md5  var jiami=md5(str)       加密不可逆   sha1 var jiami1=sha1(str)   加密不可逆   更安全  就是解析慢点 <!DOCTYPE html&g...
7、SHA1加密算法
SHA1加密算法SHA是一种数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一,并被广泛使用。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。散列函数值可以说是对明文的一种“指纹
python 使用sha1加密算法,返回str加密后的字符串
导入hashlib 模块 import hashlib def str_encrypt(str):     """     使用sha1加密算法,返回str加密后的字符串     """     sha = hashlib.sha1(str)     encrypts = sha.hexdigest()     return encrypts
python3中hashlib模块的sha1加密
from hashlib import sha1 # 需要加密的字符串 pwd = "123" # 创建sha1对象 s1 = sha1() # 对s1进行更新 s1.update(pwd.encode()) # 加密处理 result = s1.hexdigest() # 结果是40位字符串:'40bd001563085fc35165329ea1ff5c5ecbdbbeef' print(re...
各种语言sha1加密总结
1.python import hmac import hashlib import base64 encryptStr = 'appId' + appId + 'idNum' + idNum + 'name' + name # 被加密的 my_sign = hmac.new(appKey, encryptStr, hashlib.sha1).digest() # appKey为...
解决java md5和php md5 结果不一致问题
一、遇到问题 java md5的输出结果和php md5的输出结果不一致。 二、解决代码 java import java.security.MessageDigest; public class md5Test { /** * @param input 输入 * @return 返回16个字节 * @throws Exception *...
大神提供的C++ SHA1,为了能够加密字符串,我加了两个方法
/*   100% free public domain implementation of the SHA-1 algorithm   by Dominik Reichl   Web: http://www.dominik-reichl.de/   Version 2.1 - 2012-06-19   - Deconstructor (resetting internal var
微信开发-SHA1算法
微信开发-SHA1算法public static String getSha1(String str){ if(str == null || str.length()==0){ return null; } char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e'
python中的md5和sha1加密算法使用
MD5        MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来
关于python使用sha1rsa加密全过程
#coding:utf-8 import sys import binascii reload(sys) sys.setdefaultencoding('utf8') from Crypto.PublicKey import RSA as rsa from Crypto.Cipher import PKCS1_v1_5 #RSA加密协议 from Crypto.Hash import SHA...
sha1加密方法
首先需要添加头文件 #import 然后直接使用下面的方法就可以了 //sha1加密方式 - (NSString *) sha1:(NSString *)input { //const char *cstr = [input cStringUsingEncoding:NSUTF8StringEncoding]; //NSData *data = [NSData dataWithBy
java和python的SHA-1形式RSA加密方式代码互通
说明: 由于只知道n和d两个参数,找了许久才找到对应的python方法来生成pem格式密钥对以及对字符串进行SHA-1方式加密签名 一、生成密钥对 1.openssl生成PKCS#1格式 openssl genrsa -out rsa_private_key.pem 1024 openssl rsa -in rsa_private_key.pem -pubout -out rsa_pu
如何对中文字符串 进行 sha1加密
#import @interface UseSha : NSObject +(UseSha *)getinstance:(NSDictionary*)dic resultStr:(NSString**)strPath; -(id)init; @end #import "UseSha.h" #import static U
微信Java版SHA1的算法
微信Java版SHA1的算法import java.security.MessageDigest; /** * <p>Title: SHA1算法</p> * * @author levi */ public final class SHA1 { private static final char[] HEX_DIGITS = ...
sha1加密实现
SHA1加密:安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很...
C#SHA1算法及注意事项
要求:使用hash算法SHA-1计算字符串的hash值,得到16进制形式的字符串(共40个字母),并全部转换为英文字母大写形式。 上面的要求也就是标准SHA1的结果再转为大写 SHA1在线加密算法工具:http://tool.oschina.net/encrypt?type=2 多种工具 几种算法略微差别 C#算法: 方法一: /// <summary> ...
微信开放平台JS SDK接入sha1算法
接入微信开放平台(JS SDK)使用的参数签名算法 #微信接入文档 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html package com.util; public class SHA1 { private final int[] abcde = { 0x674
SHA1加密工具(多参数采取序列化后加密)
package com.woniuxy.learn.util.wechat; import java.security.MessageDigest; import java.util.Arrays; /** * SHA1 class * * 计算公众平台的消息签名接口. */ public class SHA1 { /** * 用SHA1算法生成安全签名 * @param...
ios下使用SHA1WithRSA算法加签与java后台验签配合demo
看见这边文章的同学太有眼福了,前段时间搞这个SHA1WithRSA 的 数据加签的功能,这个方面的资料很少,查看了好多资料搞的我很蛋疼啊,在知识的海洋中遨游了好久,最终用了九牛二虎之力搞定了。哈哈! 首先加入头文件 #import   #import #import #import "NSData+Base64.h" #define
java实现MD5和SHA1加密
public class EncodeUtils { private static final String[] hexDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", &qu
Java中中文MD5加密结果不一致
遇到问题: 最近做项目,因为项目的服务器部署在MyEclipse上面,而客户端部署在Eclipse上面。 发现在MyEclipse和Eclipse上面,对字符串进行MD5加密,即使使用同一个DigestUtils工具类,加密的结果也不同。 研究了一阵 ,发现是因为字符串中包含中文的缘故。 解决办法:服务器和客户端都同时对要加密的字符串进行统一一下编码方式,即可。 byte
node.js中的三种常用加密算法,md5,sha1,sha256
node.js中的三种常用加密算法,md5,sha1,sha256
SHA1(加密工具类)
SHA1(加密工具类),已通过测试.
微信参数 sha1 加密
//sha1 字符串加密     public static String getSha1(String str){     if(str==null || str.length()==0){         return null;     }     char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','a','b','
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java 加密学习 des加密学习 java