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

4个回答

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
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 大神帮忙看看
sha1 加密,C#与php加密结果不一样
今天在对接别人系统的时候,发现一个很坑的问题,sha1 加密的问题 别人系统sha1 加密是php编写的,我们是C#。 同样是对字符串 123456 加密,C#的sha1加密字符串是fEqNCco3Yq9h5ZUglD3CZJT4lBs= php的加密字符是7c4a8d09ca3762af61e59520943dc26494f8941b 解决这样的问题,推荐一下: ///
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加密
简单的SHA1加密
python中SHA1加密与java中SHA1加密后得到的结果不一致
想把一个原来的JAVA项目用PYTHON重写,python中SHA1加密与java中SHA1加密后得到的结果不一致rn[code=Java][/code]rntarget =String('123456')rnMessageDigest md = MessageDigest.getInstance('SHA')rnmd.update(target.getBytes('UTF-8'))rnmd.digest()rnrn[code=Python][/code]rnmd = hashlib.sha1()rnmd.update('123456')rnmd.digest()rnrnpython 版本是2.7的,我print出来结果不一样,但是差别不大rnrnpython 结果:|J� �7b�a�� �=�d�rn java 结果:|J� �7b�a� �=�d��rnrn请问有什么解决方案么,已经愁了好几天了...rn
SHA1加密
SHA简介: 安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA) 原理: SHA-1是一种数据加密算法,该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串
sha1加密
sha1加密
java中的SHA1加密
SHA简介 SHA(Secure Hash Algorithm,安全散列算法)属于消息摘要算法之一。 SHA-0算法由于存在降低密码安全性错误,所以未被正式推广就淘汰了后来推出SHA-1算法(有关算法的详情可以参照http://www.ietf.org/rfc/rfc3174.txt)。后来又出现了SHA-224、SHA-256等SHA算法的变体,一般将这些算法...
Java实现SHA1加密
微信接入中需要用到SHA1的算法。Java版的SHA1加密如下: /* * 微信公众平台(JAVA) SDK * * Copyright (c) 2016, Ansitech Network Technology Co.,Ltd All rights reserved. * http://www.ansitech.com/weixin/sdk/ * * Licensed under
Sha1加密
[code=C#]rnstring pass = "1253589708.112012-04-23T06:06:58.239Z123456";rnbyte[] temp = Encoding.Default.GetBytes(pass);rnHashAlgorithm sha1 = new SHA1CryptoServiceProvider();rntemp = sha1.ComputeHash(temp);rn//temp = 149,251,126,50,127,208,67,253,245,220,138,241,147,210,149,181,9,154,56,43;rn//想得到的结果rn//byte[] ByteArray2 = new byte[]157, 159, 129, 122, 94, 82, 44, 50, 207, 93, 154, 68, 109, 31, 150, 190, 66, 178, 253, 8;rn[/code]rn请问各位,怎么才能得到我想要的结果。rn[code=C/C++]rnCString strInsert;rn strInsert = szOut; rn strInsert = "1253589708.112012-04-23T06:06:58.239Z123456"; rn //=================================================SHA-1加密rn ZeroMemory(szCode, sizeof(szCode));rn SHA1_CONTEXT ctx;rn int nLen = strInsert.GetLength();rn sha1_init(&ctx);rn memcpy(szCode, strInsert, nLen);rn sha1_write(&ctx, (unsigned char *)szCode, nLen);rn sha1_final(&ctx); rn UCHAR szOutput[21];rn ZeroMemory(szOutput, sizeof(szOutput));rn memcpy(szOutput, ctx.buf, sizeof(szOutput) - 1);rn //=================================================SHA-1加密rn strInsert = szOutput; rn[/code]rn这个C++的可以得到想要的结果
SHA1 加密
#include <string>#include <string.h>std::string SHA1(std::string s){    const char HEX_CHAR[]={'0', '1', '2', '3', '4', '5', '6', '7',        '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};    co...
md5加密和sha1加密
md5加密  public static String toMD5(String s) {         if (s != null) {             try {                 byte[] bs = s.getBytes("UTF-8");                 return encrypt(bs);             } ca
java实现SHA1签名加密
公司需要开发一个对外接口API,需要用到SHA1安全哈希算法,具体需求如下: Sign计算规则: 参数示例: identityType:1Sign计算规则: 参数示例: identityType:1 identityValue:440901197709194316 month:201601 1. 将参数与secret一起根据参数名进行字典排序,然后按照排序后顺序将参数名与参数值
java实现MD5和SHA1加密
public class EncodeUtils { private static final String[] hexDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", &qu
Python编程之md5加密和sha1加密
Python编程之消息加密 在python中进行消息的加密,下面是md5加密方法和sha1加密方法: import hashlib def my_md5(value): m = hashlib.md5() m.update(value.encode('utf-8')) return m.hexdigest() def my_sha1(value): m =...
JAVA SHA1加密-微信签名适用
JAVA SHA1加密算法,适合微信支付签名用
Java中实现SHA1加密
此资源主要是实现Java中的SHA1加密方式,将资源下载后直接在程序中复制即可使用。
SHA1源码加密
sha1 源码 加密 解密 function SHA1SelfTest: Boolean; procedure SHA1Init(var Context: TSHA1Context); procedure SHA1Update(var Context: TSHA1Context; Buffer: Pointer; Len: Integer); procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest);
sha1.js- JS的sha1加密
sha1.js ,js sha1加密,非常好用,我的博客配合说明使用
基础工具---SHA1加密
private static final char[] HEX_DIGITS = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; /** * Takes the raw bytes from the digest and formats them
MD5以及SHA1加密
require 'digest/md5' require 'digest/sha1' $BUFLEN = 1024 class Hasher def initialize(method, filepath) if (method.upcase == "-SHA1") @hashfunc = Digest::SHA1.new @hashname = "SHA1...
SHA1加密算法实现
SHA1加密算法的程序实现。 SHA1加密算法的程序实现。
C#与PHP中SHA1加密结果不同解决方法
那天在调试API的时候,发现用c#写的SHA1加密出来的结果和PHP中sha1()出来的不一样,找了半天的原因后来才弄出来在调试微信接口的时候大多的帮助文档都是提供的是PHP的方法,所以在.net中实现的时候会出现很多的问题,最典型的就是token通不过验证现在提供一个结果与Php一样 的SHA1方法public static string Sha1Sign(string data) { ...
C# SHA1加密字符串
C# SHA1 加密demo,用Base64类
【SHA1】求加密代码
求Win32 的SHA1的加密算法,得到的结果和下面这段java代码的结果一致。:rn[code=Java]rnimport java.security.InvalidKeyException;rnimport java.security.NoSuchAlgorithmException;rnrnimport javax.crypto.Mac;rnimport javax.crypto.SecretKey;rnimport javax.crypto.spec.SecretKeySpec;rnrnimport org.apache.commons.codec.binary.Base64;rnrnrnpublic class HMAC_SHA1 rn rnrn public static void main(String[] args) rnrn rn System.out.println(base64sha1("message", "234123"));rn rn rn public static String base64sha1(String str, String key) rn try rn String Algorithm = "HmacSHA1";rn SecretKey sk = new SecretKeySpec(key.getBytes(), Algorithm);rn Mac mac = Mac.getInstance(Algorithm);rn mac.init(sk);rn byte[] result = mac.doFinal(str.getBytes());rn rn for (byte b : result) rn System.out.print(b);rn System.out.print(" ");rn rn return new String(Base64.encodeBase64(result));rn catch (NoSuchAlgorithmException e) rn rn e.printStackTrace();rn catch (InvalidKeyException e) rn rn e.printStackTrace();rn rn return key;rn rnrnrnrn[/code]rnrn我参考了很多代码,都不行。。。rn比如这个。
asp程序实现sha1加密
asp代码里面调用函数:<% =hex_sha1(string1) %> 即可。
Sha1.php php Sha1加密
Sha1 php加密
sha1()加密登录问题
session_start(); rn$user= $_GET['user']; rn$password = $_GET['password']; rnif ($user && $password) rn rn try rn rn login($user,$password); rn rn $_SESSION['valid_user'] = $user; rn rn catch(Exception $e) rn rn rn rn echo 'You could not be logged in. rn You must be logged in to view this page.'; rn rn rn exit; rn rn rnrnfunction login($user, $password) rnrn rnrn rn $link= mysql_connect('localhost','root','225201')or die('could not connect:'.mysql_error()); rnrn mysql_select_db('forum') or die('could not select database'); rn rnrnrn $result =mysql_query("select * from forum rn where user='$user' rn and passward = sha1('$password')"); rn rn if (!$result) rn throw new Exception('Could not log you in.'); rn rn if (mysql_num_rows($result)>0) rn return true; rn else rn throw new Exception('Could not log you in.'); rn rn我一用sha1()加密后,登录老提示'You could not be logged in. rn You must be logged in to view this page这个错误。不用sha1就可以了。$query="insert into forum(id,user,passward,email) values rn ('','$user',sha1('$passwd'), '$email')"; rnrn我在入库时加密了 求助
SHA1 加密的应用?
rn我去官方下载的 1.6版本。rnrn 100% free public domain implementation of the SHA-1 algorithmrn by Dominik Reichl rn Web: http://www.dominik-reichl.de/rnrnrn我使用的方法。rnrn使用密码是 admin来加密rnrn 这里的buf->mess5 是 adminrnrn char *password = buf->mess5;rn const unsigned char *codepass = (const unsigned char *)buf->mess5;rnrn CSHA1 sha1;rn sha1.Update(codepass, strlen(password));rn sha1.Final();rnrn sha1.ReportHash(password, CSHA1::REPORT_HEX);rnrn cout<
MD5,sha1加密工具类
/** * 利用MD5加密 * @return String 加密后的字符串 * @param str 待加密的字符串 * @throws NoSuchAlgorithmException 异常 * @throws UnsupportedEncodingException 异常 */ @...
sha1加密工具方法
package com.utils; /**  * 2016年1月18日  * Chatpay  * Yiyong wu  */ import java.net.URLDecoder; import java.security.MessageDigest; import java.util.Iterator; import java.util.Map;
关于SHA1加密文档
SHA1加密具体的详细介绍,用于处理用户登录的安全性方面来考虑的!
各种语言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为...
js的sha1加密方法
JavaScript的sha1加密方法代码,可以直接拿来使用,同样适用微信小程序
sha1加密问题
为什么sha1只能对byte类型进行加密,而不能直接对string类型进行加密
(1.5)SHA1加密工具类
public static String byteToStr(byte[] byteArray){ String strDigest = ""; for (int i = 0; i strDigest+=byteToHexStr(byteArray[i]); } return strDigest; } public static String byteToHexStr(byte
微信参数 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','
SHA1
谁有SHA1 hash算法的 C/C++完整代码?
c++ sha1 加密
c++ sha1 加密 使用visual studio 2008或以上版本打开
Delphi sha1加密源码
之前网上找的sha1加密都有问题,多语言加密都不一致,这个事自己写的,和其他语言做比对后,都一致。Delphi sha1加密源码,delphi 写的加密和C#,PHP,三种语言比对,都是一致的。
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview