RSA加密:将代码从js移动到C#
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了RSA加密:将代码从js移动到C#,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1864字,纯文字阅读大概需要3分钟。
内容图文
![RSA加密:将代码从js移动到C#](/upload/InfoBanner/zyjiaocheng/729/1df52eb79f3b439f9e4242d02397a08c.jpg)
我正在研究一个登录teamcity的useragent,我正在尝试将密码加密从js移到c#.
名为rsa.js和encrypt.js的部分很重要.他们用函数调用
rsa.setPublic(publicKey,"10001");
根据我的判断,指数看起来像十六进制数x10001,这是65537 base10
请注意,以下帐户不属于teamcity的演示网站
此测试验证加密文本是否等于使用公钥加密的明文.
[Test]
public void should_be_able_to_encode_a_string() {
string public_key = "00b46e5cd2f8671ebf2705fd9553137da082b2dd3dbfa06f254cdfeb260fb21bc2c37a882de2924d7dd4c61eb81368216dfea7df718488b000afe7120f3bbbe5b276ac7f2dd52bd28445a9be065bd19dab1f177e0acc035be4c6ccd623c1de7724356f9d6e0b703d01583ebc4467d8454a97928b5c6d0ba3f09f2f8131cc7095d9";
string expected = "1ae1d5b745776f72172b5753665f5df65fc4baec5dd4ea17d43e11d07f10425b3e3164b0c2ba611c72559dc2b00149f4ff5a9649b1d050ca6a5e2ec5d96b787212874ab5790922528a9d7523ab4fe3a002e8f3b66cab6e935ad900805cf1a98dc6fcb5293c7f808917fd9015ba3fea1d59e533f2bdd10471732cccd87eda71b1";
string data = "scott.cowan";
string actual = new EncryptionHelper().Encrypt(public_key, data);
Assert.AreEqual(expected,actual);
}
到目前为止,实现看起来像
public string Encrypt(string public_key, string data)
{
rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(String.Format("<RSAKeyValue>{0}</RSAKeyValue>",public_key));
byte[] plainbytes = System.Text.Encoding.UTF8.GetBytes(data);
byte[] cipherbytes = rsa.Encrypt(plainbytes,false);
return Convert.ToBase64String(cipherbytes);
}
但这抱怨
System.Security.Cryptography.CryptographicException
Message: Input string does not contain a valid encoding of the 'RSA' 'Modulus' parameter.
谢谢你的任何帮助都会让这个圣诞快乐
编辑:看起来我的测试存在缺陷,因为每个播种时间会生成不同的encryptedPassword
答:我打开访客访问权限,绕过了这个问题,但我还是想解决它
解决方法:
由于加密使用PKCS#1随机填充,因此生成的“encryptedPassword”必须始终不同.
这里的关键字是“随机填充”;-)
内容总结
以上是互联网集市为您收集整理的RSA加密:将代码从js移动到C#全部内容,希望文章能够帮你解决RSA加密:将代码从js移动到C#所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。