我正在使用rsa并从ini文件中读取密钥
public_key = rsa.PublicKey(config['public_key.n'],config['public_key.e'])
但我收到此错误
TypeError: unsupported operand type(s) for -: 'unicode' and 'int'
这是我的ini文件内容
[RSA]
public_key.n = 183123867919799980745597191341507205007
public_key.e = 65537
private_key.d = 73725121001326311644202607901943421673
private_key.p = 216949189269184531091
private_key.q = 844086435799421077
我读取ini文件成功(我在控制台中打印)。请帮我解决这个问题。
答案 0 :(得分:0)
ConfigParser(或访问ini文件的其他方法)返回字符串,而不是整数。您可以在创建密钥之前转换它们
public_key = rsa.PublicKey(int(config['public_key.n']),int(config['public_key.e']))
或在读取文件时使用RawConfigParser.getint获取值。