这两个参数是java后台传过来的,我要用C#把两这个字符生成公钥,然后不知道怎么处理
我在网上找了好多种方法,都不行,
返回的Exponent :010001;
Modulus:009ba8a71faa9d119cd8091ba572af86c1aebc5d5254b4309c3826a7aa2f1546a61fe7bd24027294008da154734c9fa0515c223a3fa3e757f71ee5b992c615f5595a27b190437c6e8020b94a83ab87ea1b9b6afcb5dc580638a369b68fd24f3fe27e451050f337347d750bc45dc6df58d66518edf011ea8194e67f87877c0edb7bweb前端他们用的security-new.js.
最终生成256位长度的加密:0e6de3b1c1e7f75e08795c8b50540b1dc0474047abf41180fcfa08fe7e5c77419e257eda777bfd3eeb3628f51e6784fb736d315aff4621dedbe3282fc72b5102d5ae52cadef6d5def2c18eeca424e8e1b207759f2bd94478f8d4cf7915c4fcf9afea29cbcb39d79e5d00c7d6a2b53470a80f82301b4fd4ee7400b1175d332d64麻烦路过的大佬,帮忙看下,弄两天了
我在网上找了好多种方法,都不行,
返回的Exponent :010001;
Modulus:009ba8a71faa9d119cd8091ba572af86c1aebc5d5254b4309c3826a7aa2f1546a61fe7bd24027294008da154734c9fa0515c223a3fa3e757f71ee5b992c615f5595a27b190437c6e8020b94a83ab87ea1b9b6afcb5dc580638a369b68fd24f3fe27e451050f337347d750bc45dc6df58d66518edf011ea8194e67f87877c0edb7bweb前端他们用的security-new.js.
最终生成256位长度的加密:0e6de3b1c1e7f75e08795c8b50540b1dc0474047abf41180fcfa08fe7e5c77419e257eda777bfd3eeb3628f51e6784fb736d315aff4621dedbe3282fc72b5102d5ae52cadef6d5def2c18eeca424e8e1b207759f2bd94478f8d4cf7915c4fcf9afea29cbcb39d79e5d00c7d6a2b53470a80f82301b4fd4ee7400b1175d332d64麻烦路过的大佬,帮忙看下,弄两天了
解决方案 »
- 如何将一个路径下的东西用treeview显示 并可以实时更新!急,急,大虾帮忙
- 你是否已用 VS2008 新组件 TableAdapterManager
- 怎样把字符 由gb2312转成gbk
- win7系统下,C#调用无窗体的activex控件,不支持无窗口的activex控件
- 高分請大家測試以下正則表達式有沒有BUG
- CTRL+ALT+DEL的值等于多少??
- c#中生成报表的问题,恳盼大虾指教
- C# 如何导出Datatable中的图片列到Excel中,在线等
- 如何利用C#打开一个对话框获取文件夹,就象新建项目时选择文件夹一样(查询得到结果为什么都无法显示?)
- c#怎么处理C++ dll中的shared_ptr参数
- 第一帖-点击按钮 生成几个不同控件并能对这些控件实现操作
- c#写上位机,将串口接收的数据存入csv文件
string Modulus = "";
//从你发的密钥来看,对方给的是2个字符表示一个byte的密钥格式。
//先把密钥从字符串转换成对应的字节数组(byte[])
//然后构造参数
RSAParameters para = new RSAParameters()
{
Exponent = getbyte(Exponent),
Modulus = getbyte(Modulus),
};
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.ImportParameters(para);
//下面就可以用rsa对象进行签名或加密了private static byte[] getbyte(string str)
{
//转成byte[] var length = str.Length; byte[] data = new byte[length / 2]; for (int i = 0; i < length; i += 2)
{
data[i / 2] = byte.Parse("" + str[i] + str[i + 1],
System.Globalization.NumberStyles.HexNumber);
} return data;
}
搜索RSAPublicKeyJava2DotNet,这两个值只能获取到公钥
那说明JS端的RSA加密库写的不好,没有使用随机盐,而是固定盐。
那说明JS端的RSA加密库写的不好,没有使用随机盐,而是固定盐。
但是这个我用这种方式加密 我再传给java 他解不了密呀
首先检查填充方式是否一致。
接下来检查公钥,可以在加载了公钥之后,用rsa.ToXmlString(false),导出公钥,比较一下值。C#导出的公钥都是经过base64编码的字节数组,你用base64解一下码,字节数组的值应该和对方给的字符串的值一致。