小编Das*_*man的帖子

Python中的加密哈希函数

我正在用Python编写一个用于椭圆曲线加密的程序(适用于学校和出于兴趣的人)。我目前正在研究数字签名算法。我目前正在寻找一种良好且安全的哈希函数,该函数在Python中是标准的,或者可以轻松下载和导入。我想到了SHA256,因为这是我所知道的唯一一个还没有坏掉的(据我所知)。但是,我也读过SHA不应该用于加密。SHA256是否适合数字签名算法?还是应该使用其他哈希函数?如果是这样,哪个是一个不错的选择?

python hash cryptography digital-signature python-3.x

5
推荐指数
1
解决办法
2410
查看次数

将二进制整数写入python中的文件

如何在 Python 3 中以二进制形式将整数写入文件?

例如,我想将 6277101735386680763835789423176059013767194773182842284081 以正好 24 个字节的二进制文件写入文件(无符号,我将只使用正整数)。我怎样才能做到这一点?我尝试了以下方法:

struct.pack("i", 6277101735386680763835789423176059013767194773182842284081)
Run Code Online (Sandbox Code Playgroud)

这导致

ValueError: cannot fit 'int' into an index-sized integer
Run Code Online (Sandbox Code Playgroud)

我对其他一些格式(“l”、“Q”)也尝试过同样的方法,但这些也会导致错误:

struct.error: argument out of range
Run Code Online (Sandbox Code Playgroud)

如果我可以将整数转换为恰好 24 个字节,我将能够写入文件,因为我知道如何做到这一点。但是,我似乎无法将整数转换为字节。

另外,如何确保每个整数正好写入 24 个字节?我还将编写较小的数字(1000、2000、1598754、12),但是这些也应该占用 24 个字节。

之后如何从文件中再次读取整数?

python io binary integer python-3.x

4
推荐指数
2
解决办法
1万
查看次数