作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直无法在 IE11 中找到任何 RSA-OAEP 加密的示例。
这是我的实现的一个片段,其中给出了一个非常模糊的错误。
function convertStringToArrayBufferView(str) {
var bytes = new Uint8Array(str.length);
for (var iii = 0; iii < str.length; iii++) {
bytes[iii] = str.charCodeAt(iii);
}
return bytes;
}
var crypto = window.crypto || window.msCrypto;
var config = {
name: 'RSA-OAEP',
modulusLength: 2048,
publicExponent: new Uint8Array([0x01, 0x00, 0x01]),
hash: {
name: 'SHA-256'
}
};
var keyOp = crypto.subtle.generateKey(config, false, ['encrypt', 'decrypt']);
keyOp.onerror = function(e) {
console.error(e);
};
keyOp.oncomplete = function(e) {
encrypt(e.target.result);
};
function encrypt(keypair) {
var data = "abc1234444"
var encOp = crypto.subtle.encrypt({
name: config.name,
iv: config.iv || crypto.getRandomValues(new Uint8Array(16)),
key: keypair.publicKey
}, keypair.publicKey, convertStringToArrayBufferView(data));
encOp.onerror = function(e) {
console.error(e);
};
encOp.oncomplete = function(e) {
console.log({
data: new Uint8Array(e.target.result)
});
};
}
当我将算法更改为 RSAES-PKCS1-v1_5 时,一切都完美无缺
function convertStringToArrayBufferView(str) {
var bytes = new Uint8Array(str.length);
for (var iii = 0; iii < str.length; iii++) {
bytes[iii] = str.charCodeAt(iii);
}
return bytes;
}
var crypto = window.crypto || window.msCrypto;
var config = {
name: 'RSAES-PKCS1-v1_5',
modulusLength: 2048,
publicExponent: new Uint8Array([0x01, 0x00, 0x01]),
hash: {
name: 'SHA-256'
}
};
var keyOp = crypto.subtle.generateKey(config, false, ['encrypt', 'decrypt']);
keyOp.onerror = function(e) {
console.error(e);
};
keyOp.oncomplete = function(e) {
encrypt(e.target.result);
};
function encrypt(keypair) {
var data = "abc1234444"
var encOp = crypto.subtle.encrypt({
name: config.name,
iv: config.iv || crypto.getRandomValues(new Uint8Array(16)),
key: keypair.publicKey
}, keypair.publicKey, convertStringToArrayBufferView(data));
encOp.onerror = function(e) {
console.error(e);
};
encOp.oncomplete = function(e) {
console.log({
data: new Uint8Array(e.target.result)
});
};
}
最佳答案
这个问题看起来类似于 Public key encryption in Internet Explorer 11
在那里,@fenghuang需要“在调用加密调用时添加哈希字段”
var encOp = cryptoSubtle.encrypt(
{
name: "RSA-OAEP",
hash: { name: "SHA-256" }
},
key.publicKey,
data
);
关于javascript - ie11中的RSA-OEP加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32875028/
是否有关于如何 的一般规则?真正定位OEP (原始入口点)打包的 .exe 文件,好吗?在调试的汇编语言中有哪些 OEP 线索可以搜索? 假设有一个包含 的 Windows .exe 文件PC-Gua
我是一名优秀的程序员,十分优秀!