不太擅长编程。需要更改脚本代码。有必要读取文件的内容并将其拆分为单独的键,然后将它们保存在一个文件中。提前感谢您的帮助!!!你知道吗
'文本.txt'
文件:
0200E7C810F4553FE172522F8DCFC8E810757EF427EF79BDF08DDF3700FD5 0216b3e68fed004b2fea2119cdbb8ab2393dfe8fc99398da18e40b6e949e9e1278 022bbf0fcde9bcba6e1038b78bd6906ed00be95d1a6f912a7352f5aca2d7bb6bbc 021060631ef4a610aebc3c9e24f5b0e33dcd0eb422b8223dbd75c1e6edfd21dd72型 0218cbb66d6a417890aea6bf5f8a83a4d181a89c5aba8121e20def5b42c311514e 025d8ea956802ed00ebec42b480c0eb77c6ada6ed3fceb40e5fff9aed0fa31c6b4 02264A8C56551ABEB68D611286349857A4360C38528D02B9313988BA062Efed
import binascii
with open('text.txt') as f:
text = f.read()
compressed_key_hex = text.split('\n')
computed_uncompressed_key = []
p_hex = 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F'
p = int(p_hex, 16)
x_hex = compressed_key_hex[2:66]
x = int(x_hex, 16)
prefix = compressed_key_hex[0:2]
y_square = (pow(x, 3, p) + 7) % p
y_square_square_root = pow(y_square, (p+1)//4, p)
if prefix == "02":
y = (-y_square_square_root) % p
else:
y = y_square_square_root
computed_y_hex = hex(y)[2:66]
computed_uncompressed_key = "04" + x_hex + computed_y_hex
with open('result.txt', 'w') as f:
f.write('\n'.join(computed_uncompressed_key))
我得到错误:
===================== RESTART: D:\detailALL\03\Bit06.py =====================
Traceback (most recent call last):
File "D:\detailALL\03\Bit06.py", line 12, in <module>
x = int(x_hex, 16)
TypeError: int() can't convert non-string with explicit base
>>>
您传递的是
list
,而不是str
。在下面的代码中x_hex
是一个列表。你知道吗因此,您需要将
list
转换为str
,您可以使用以下方法:我猜以下可能是您需要的解决方案:
text.txt
文件:result.txt
文件:相关问题 更多 >
编程相关推荐