gpt4 book ai didi

javascript - 使 Javascript RSA 消息加密给出相同的结果

转载 作者:行者123 更新时间:2023-11-30 06:36:04 25 4
gpt4 key购买 nike

你好,我正在使用 javascript RSA 加密过程,它正在运行:

<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<script src="jquery-1.7.2.min.js" type="text/javascript"></script>
<script type="text/javascript" src="base64.js"></script>
<script type="text/javascript" src="asn1.js"></script>
<script type="text/javascript" src="jsbn.js"></script>
<script type="text/javascript" src="prng4.js"></script>
<script type="text/javascript" src="rng.js"></script>
<script type="text/javascript" src="rsa.js"></script>
<script type="text/javascript" src="pemconvert.js"></script>
<script>
function loadpubKey(){
var pubkey = "-----BEGIN PUBLIC KEY-----\nMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAPBYvSszUjI5psKM958bHTDb+9NONv3X\nWVIGLR9/Al4j8/mqSDMhwFuu9oEyXl80+Ga2cohEQPpWyxzg3/tfGDUCAwEAAQ==\n-----END PUBLIC KEY-----";
$("#publicKey").html(pubkey);
}
function RSAEncryptData()
{
var Message = $("#Message_to_Encrypt").val();
var pubkey = pem_import($("#publicKey").val());
$("#RSAMessageEncrypted").html(pubkey.encrypt(Message));
}
</script>
</head>
<body onload="loadpubKey();">
<h1>RSA Encryption/Decryption using library From :https://github.com/tao-software/jsrsa</h1>
<form>
<strong>Public key :</strong> <textarea rows="3" cols="100" id="publicKey"></textarea><br>
<strong>Message to RSA encrypt :</strong> <textarea rows="3" cols="100" id="Message_to_Encrypt"></textarea><br>
<input type="button" value="RSA Encrypt" onclick="RSAEncryptData();">
<strong>RSA encrypted Message :</strong> <textarea rows="3" cols="100" id="RSAMessageEncrypted"></textarea><br>
</form>
</body>
</html>

每次我使用相同的消息点击“加密”按钮进行加密时,我都会得到一个新的不同的加密值。我该怎么做才能使此加密为使用的同一消息提供相同的加密结果?

实际上,我想做的是使用 RSA 使用公钥加密一些电话号码,然后将它们存储在一个表中,之后我将使用 RSA 中的相同公钥对我将通过一个过程获得的任何电话号码进行加密并查看表格是否匹配。

使用上面的脚本,即使我多次加密同一个电话号码,我也永远找不到匹配项,这就是为什么我希望在加密同一个电话号码时得到相同的结果。欢迎任何想法。

提前谢谢你。

最佳答案

正如 Greg 在 his comment 中所说的那样,PKCS #1 填充中的随机性将导致您的加密结果每次都不同。

根据您的用例,我建议您将电话号码的哈希值与加密数据一起存储。然后,您可以根据哈希执行快速查找。您可能希望在散列之前对您的电话号码加盐。

请记住,不能保证哈希值是唯一的,因此您获得两个冲突的哈希值的可能性很小。

关于javascript - 使 Javascript RSA 消息加密给出相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14426186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com