Javascript 每次更改加密文本-Msrcrypto

Javascript 每次更改加密文本-Msrcrypto,javascript,html,encryption,Javascript,Html,Encryption,打算通过(MsrRsaCryptoSample.html)对文本进行加密 我能够使用RSA公钥和私钥对对数据进行加密和解密。但仍然不清楚的是,是什么让加密数据在每次我刷新网页时都发生变化 以下功能的具体用途是什么: function bytesToHexString(bytes) { console.log("---------------bytesToHexString------------------"); var result = ""; for (var i =

打算通过(MsrRsaCryptoSample.html)对文本进行加密

我能够使用RSA公钥和私钥对对数据进行加密和解密。但仍然不清楚的是,是什么让加密数据在每次我刷新网页时都发生变化

以下功能的具体用途是什么:

function bytesToHexString(bytes) {
    console.log("---------------bytesToHexString------------------");
    var result = "";
    for (var i = 0; i < bytes.length; i++) {
        if (i % 4 === 0 && i !== 0) result += "-";
        var hexval = bytes[i].toString(16).toUpperCase();
        result += hexval.length === 2 ? hexval : "0" + hexval;
    }
    console.log("result : " + result);
    return result;
}
函数bytesToHexString(字节){
console.log(“--------------bytesToHexString-------------------------------”);
var结果=”;
对于(变量i=0;i
目的相对明确。它在函数名中。它接受字节数组并将其转换为十六进制字符串,

目的相对明确。它在函数名中。它接受字节数组并将其转换为十六进制字符串,如果两条消息相同,则确定性加密会泄漏。这对于非对称加密尤其严重,因为攻击者可以加密无限数量的选定消息。为了避免这个缺点,标准RSA填充是随机的


您发布的代码与随机化无关,它只是将二进制数据转换为可打印的十六进制字符串。

如果两条消息相同,确定性加密就会泄漏。这对于非对称加密尤其严重,因为攻击者可以加密无限数量的选定消息。为了避免这个缺点,标准RSA填充是随机的


您发布的代码与随机化无关,它只是将二进制数据转换为可打印的十六进制字符串。

在encyption方法中使用的填充方案负责每次生成的随机加密字符串

 var cryptoOperation = subtle.encrypt(
        { name: "**RSAES-PKCS1-v1_5**" },
        publicKeyHandle,
        plainTextBytes);
其中,RSAES-PKCS1-v1_5是填充方案 publicKeyHandle是字节形式的公钥
plainTextBytes是要以字节形式加密的消息。

在encyption方法中使用的填充方案负责每次生成的随机加密字符串

 var cryptoOperation = subtle.encrypt(
        { name: "**RSAES-PKCS1-v1_5**" },
        publicKeyHandle,
        plainTextBytes);
其中,RSAES-PKCS1-v1_5是填充方案 publicKeyHandle是字节形式的公钥
明文字节是要以字节形式加密的消息。

如果两条消息相同,确定性加密将泄漏。这对于非对称加密尤其严重,因为攻击者可以加密无限数量的选定消息。在这个特定示例中,到底是什么函数使这种情况发生的,我的意思是每次都进行非对称加密。除非使用随机填充,例如OAEP填充,否则RSA是不安全的。这种随机填充(您很可能也应该使用这种填充)会使相同明文的每次加密结果都是不同的、唯一的密文。如果两条消息相同,确定性加密就会泄漏。这对于非对称加密尤其严重,因为攻击者可以加密无限数量的选定消息。在这个特定示例中,到底是什么函数使这种情况发生的,我的意思是每次都进行非对称加密。除非使用随机填充,例如OAEP填充,否则RSA是不安全的。这种随机填充(您很可能也应该使用这种填充)使得相同明文的每次加密结果都是不同的、唯一的密文。那么,它的目的是什么,这个十六进制字符串(结果)在这里使用!那么,这个十六进制字符串(result)的作用是什么呢!你能帮我弄清楚在这个特定的例子中,什么函数处理加密文本的随机性,以及将字符串转换为十六进制字符串的目的是什么。你能帮我弄清楚在这个特定的例子中,什么函数处理加密文本的随机性,以及什么吗正是将字符串转换为十六进制字符串的目的。