小编Wei*_*Yan的帖子

Python SHA1整数

我在C代码中做了两个SHA1,一个是字符串,另一个是整数,得到不同的结果.

SHA_init(&ctx);
SHA_update(&ctx, "1234", 4);
sha = SHA_final(&ctx);

unsigned n = 1234;
SHA_init(&ctx);
SHA_update(&ctx, &n, sizeof(n));
sha = SHA_final(&ctx);

string  result:  7110eda4d09e62aa5e4a390b0a572acd2c220
integer result:  c7f07b846cc46631c2079cdd7179afdd783d643
Run Code Online (Sandbox Code Playgroud)

在python中,很容易得到字符串SHA1

sha1 = hashlib.sha1()
sha1.update('1234')
sha1.hexdigest()

'7110eda4d09e062aa5e4a390b0a572ac0d2c0220'
Run Code Online (Sandbox Code Playgroud)

我们可以看到字符串结果与C代码相同.但是如何在python中获取整数SHA1?因为python sha1不支持整数.

我尝试了以下代码,但它无法获得与C代码相同的结果.

aint = unpack('>4B', pack('>I', 1234))   
sha1 = hashlib.sha1()
sha1.update(bytearray(aint))
sha1.hexdigest()
Run Code Online (Sandbox Code Playgroud)

'ac9928e78cf6ea117451ecd6654fea2adae73e21'

如何在python中执行整数SHA1?

python sha1 hashlib

7
推荐指数
2
解决办法
2781
查看次数

标签 统计

hashlib ×1

python ×1

sha1 ×1