日期:2014-05-18  浏览次数:21009 次

已知公钥,求C#加密算法
已知公钥为:
string pubkey = "mzjXeh82MDDGbcN0RYp+h07z1mNF/ezbm0kaFcOPo9iSVFn3yBNThDzftkebtDVFgiuCP3S7+xaMO6eiwiVxSFWEF/XB4VCoz0PsJJePm0ZZSdL0N5MnIVVeuwTr2rVQxvavGoqaU9RlhGFr5Yz2/vbmuF2z2TGXcTqSaOw/F9u6KtwtR5JG9qJvyFaTx4RLOo2UHBiLkeXTt7iSU7X5+vyYPig5ZN4SrppgTvjzYhfCTnVQSl8uq+yAj8+ycmU6BmHHbU+ZCk3m6woC24anxuHUNTnWB0qtbaIFymr93snUR7Qa1iIYuA9pbp1cCrS+LbWNEzUFtdIF7gNDzrnJ0JbeEQ7hcqaZbOf0S3179Wr/8GLCXr5skterQnmFl63xOaWZvH6CMpHuOqd0HDG1ZnCQbGaf2hm+N4jUgWCznFw56bu5EfdL99mLOFmHxtUPvnJc//XOOI12Odmc0axCJx354+/pexV8OsBf9LyGsrK0IYXGpdbmfT+Csi5nzu79";
密码为:"123456"
加密后密文为:"WOmW+RUZ88yv9/FqfdYPyNtV5OcPD4gUrjjBNNdlw2BkibPdbEoIwC9fpU48yA2LWuW2ZNpGeDcpCCkF2YeIXr3C9Zgs6wfFcLS2vLihdIZmibCEeWJGK5Rvdv68848xNI4jT3+ALP15NMSEUeos5LRXWLjgoiuFmNIuTldT/fo="

加密过程中还用到两个字符串:"01", "45174083"。
想用C#模拟这个加密算法,可能不?

------解决方案--------------------
模拟加密算法?给的信息不够啊。

01、和45174083做什么用的?
------解决方案--------------------
常见的加解密、完整性验证以及数字签名算法都已经在.NET Framework中得到了实现,为编码提供了极大的便利性,实现这些算法的命名空间是system.security.cryptography。此命名空间按如下方式组织:
1.对称加密。
与公钥算法相比,对称加密算法非常快,特别适用于对较大的数据流执行加密。.NET Framework提供以下实现对称加密算法的类: ①DESCryptoServiceProvider;②RC2CryptoServiceProvider;③RijndaelManaged;④TripleDESCryptoServiceProvider。
2.公钥加密和数字签名。
公钥加密算法也称为非对称算法,使用一个必须对未经授权的用户保密的私钥和一个可以对任何人公开的公钥。用公钥加密的数据只能用私钥解密,而用私钥签名的数据只能用公钥验证。公钥可以被任何人使用,该密钥用于加密要发送到私钥持有者的数据。两个密钥对于通信会话都是唯一的。.NET Framework提供以下实现公钥加密算法的类:①DSACryptoServiceProvider;②RSACryptoServiceProvider。
3.消息摘要。
消息摘要也称Hash算法,能将任意长度的二进制值映射为固定长度的短二进制值(Hash值)。如果对一段明文哪怕只更改其中的一个字母,随后的Hash值都将产生巨大的变化。要找到Hash值相同的两个不同的输入,在计算上是不可能的,所以数据的Hash值可以检验数据的完整性。.NET Framework提供以下实现数据完整性算法的类:①HMACSHA1;②MACTripleDES;③MD5CryptoServiceProvider;④SHA1Managed、SHA256Managed、SHA384Managed、SHA512Managed。

------解决方案--------------------
你是想用公钥加密数据对吧?

system.security.cryptography这个空间里面就是相应的密码学函数实现

具体的详细说明,楼上的已经说的很详细了
------解决方案--------------------
我觉得你肯定用的是非对称加密

可是你得首先确定它用了什么加密算法吧

------解决方案--------------------
如果让你知道,还叫加密啊
不知道私钥,搞个P呀
------解决方案--------------------
不知道加密算法怎么可能模拟啊

你必须要先知道他是用的什么非对称加密算法

探讨
to 1楼:01做什么,我也不清楚(这个数固定不变),45174083是随机数(这个数可以拿到),应该是和密码搭
配,这样保证每次加密后的密文都不相同,可以有效防止被拦截,这设计不错,赞。
我给出的信息,应该够吧。只要不改变我给出的数据,每次的密文是固定的。
to 3楼: 我要模拟的是一个网页的安全控件,目前我能调用这个控件,但不能自动填入密码,非得采用全局模
拟键盘的方式来输……