Python 中的两个字符串有什么区别?

问题描述 投票:0回答:1

我在 Python 函数中对多个字符串执行操作,并返回带有结果名称的最终值 我使用另一个文件中的结果值使用 RSA 算法加密或签名 问题是算法的输出是不同的,当我直接把它给 RSA 和当我把它作为两个 "" 之间的字符串,而两者的空数据都是 STR

x= rsa_encrypt(result) # result = good book
print(x)


type(result) # str

输出是:

H63Lc1x0592lBXVt0vQrNJbkNdbbnvvLc4jdyavFcpymJCowhnMvt09b9CFqm1evut0jb4IS9bC/AGKVQ/+OAJmFVbDQDMCyqeHJq7HoHZiGCrFnWWHF7aH3b6Mqit195z22RtL2SYQ1fZeaXn8vYX6Gqavp7U8YAG8fQj1GB+Pi7Pg+WHtxa4Ic/v5FE3yu9O1aGT6SdwEgNDK+ePpVzkQPxFdAx+sPJ0+F4QRFmCSS/rKi0mnDG5LANCzX8RYZoMK7O5ScH9Pz1B2+Fxo2srYK7dmTg+QnKdmvtnHMaxO5OUX0NjOtDTHJN316hTkD85jsdDqj6XF3I9W/UF1lDg==

y="good book"
x= rsa_encrypt(y)
print(x)


type(y) # str

输出是:

nfUz238vHq3Hhpghk6tsyLsNpa4BbVym50Hi/YV6KcDwP1Y4GxVLg0S8eCmXUqIeOq7qR+Ug+0MSFaM/nVvxcGn3qPYJJzBlKRl0/tbW7wGtvP1IZO6VQCwA8awr12TRUMAchrWZX9628UOge62jpqAjRCPA9ZARxEjh8YTkSfiIOva+PbPwAECDjXbj+FcuSzSP2W5Qa3b6UnfUfIUPpzIP+PCbxXTJ9QxYoiu7JJxrhO3M3pxvBhy6y8KCMyqkVzNhLSSIxL6skyr1V0srdIgMy+pmPTHUXRoNlqEWz6TSfKas1BNxFlHjpprw98La0xqzHN5Kkoc8g5qPBN//QQ==

我的补充点:

我使用 RSA 算法对“RSASSA-PKCS1-v1_5”进行签名。要签署和使用此算法,我需要输入我自己想要签署的字符串。 我RSA算法没问题,我要签名的字符串有问题 问题是我的字符串是直接从另一个函数输入的,要使用 RSA 算法进行签名,这就是为什么我的签名字符串与我手动输入输入字符串以及在

double quotes
之间进行签名时不同的原因。我给算法RSA 例如,我直接给 RSA 算法签名的函数输出是这样的 这是一个测试条目 当这个值被赋予 RSA 算法时,它返回给我一个加密的字符串 但是如果字符串 这是一个测试条目 我以
"This is a test input"
的格式输入,在两个
double quotes
之间,RSA算法给了我另一个字符串。 关键是,我需要我的字符串在双引号之间签名,但不是手动的,而是自动的 所以,一般来说,我需要自动为 RSA 算法提供我的函数的格式,它是一个字符串,在双引号内。

string rsa pycrypto
1个回答
0
投票

RSA 有两种 PKCS#1 v1.5 填充:一种用于签名,一种用于加密。请注意,您正在调用一个加密函数,所以我希望您实际上获得了加密函数。然后我也想知道您使用哪个密钥进行“签名”。

RSA 本身基本上是模幂运算,其中模数与私有和公共指数具有特定的数学关系。但是,要获得安全算法,它需要与特定的填充算法结合使用以进行加密或签名(或用于 RSA-KEM 的密钥建立)。因此,说RSA只是“使用私钥加密消息或哈希值”是不正确的(我创建了那个自我回答的问题,因为在这方面犯了很多错误)。

© www.soinside.com 2019 - 2024. All rights reserved.