LZ还是先看看RSA算吧吧,逆向?不需要,算法公开的。
从数学的角度来说,此算法不可逆
当然现在也有哈希表还是什么彩虹表能跑出来加密位数短的
据说1024位目前无法破解,2048位就是军用级别的了
且非对称加密有两个key,程序里面即使发现了一个key,也无法加密数据
即公钥加密私钥解密,私钥加密公钥解密
程序里面只会有一个密钥,你找到了也没用(除非作者把两个key都放程序里,那和不加密没区别)
too young too simple
RSACryptoServiceProvider rSACryptoServiceProvider = (RSACryptoServiceProvider)this.mCertificate.PublicKey.Key; SHA1Managed sHA1Managed = new SHA1Managed(); new UnicodeEncoding(); bool result = false; byte[] rgbHash = sHA1Managed.ComputeHash(data);
UInt64 i = 1; while (i++ < UInt64.MaxValue) { result = rSACryptoServiceProvider.VerifyHash(rgbHash, CryptoConfig.MapNameToOID("SHA1"), Encoding.ASCII.GetBytes(i.ToString("X2")));
if (result) { Console.WriteLine(Convert.ToBase64String(signature)); Console.WriteLine("找到结果:" + i + "\t" + i.ToString("X2") + "\n按任意键继续..."); Console.ReadKey(); }
if (i % 1000 == 0) { Console.WriteLine(i.ToString()); } }