首先让我说我不是加密专家,但我知道基础知识。
我希望能够:
答案 0 :(得分:0)
整天环顾四周后,我发现了repository (thanks a lot jrnker),我选择了能够达到目标1,2和3所需的代码。
由于Jrnker只提供从PKCS1 blob获取RSACryptoServiceProvider的方法(我需要的是来自PKCS8 blob的RSACryptoServiceProvider)我一直在寻找达到目标4号。然后我找到了Michel Gallant's "opensslkey.cs"和我选择了符合目标4的所需代码。
然后我开始用所需的方法和类编译一个类。
这是我的演示类:
foo.svnbar
Here's the "RSAKeyUtils" class i've compiled.
我希望这对其他人有用。
答案 1 :(得分:-2)
首先,Java中的const uniqBy = (arr, predicate) => {
const cb = typeof predicate === 'function' ? predicate : (o) => o[predicate];
return [...arr.reduce((map, item) => {
const key = (item === null || item === undefined) ?
item : cb(item);
map.has(key) || map.set(key, item);
return map;
}, new Map()).values()];
};
const sourceArray = [
{ id: 1, name: 'bob' },
{ id: 1, name: 'bill' },
null,
{ id: 1, name: 'bill' } ,
{ id: 2,name: 'silly'},
{ id: 2,name: 'billy'},
null,
undefined
];
console.log('id string: ', uniqBy(sourceArray, 'id'));
console.log('name func: ', uniqBy(sourceArray, (o) => o.name));
与.Net中的byte
不同。 Java只有签名整数,所以Java byte
的范围是-128到127,而.Net byte
的范围是0到255.但我不确定,如果这是问题,因为Base64字符串依赖于位模式。尝试在正范围内使用较大的类型,并仅使用低8位。
其次,关于不良提供者版本的消息可能表明上述原因,或者可能只是一个误导性文本,这确实没有帮助。我记得我曾经遇到过相同的错误信息,并且很难找到实际原因。几分钟前的快速搜索也没有成功。在我的情况下,我有一个完全不同的情况,所以我不能直接指出你的问题。相反,我建议检查填充,加密模式,base64转换和RSA算法周围的相关内容,并尝试找到另一种方法来实现之前所需的相同。在前往那里的路上你可能会遇到实际问题。