Tag: mcrypt

使用PHP和c#的Mcrypt和base64

我已经在两个平台上编写了相同的方法,我认为这些方法应该会产生相同的结果但不会发生。 我用相同的密钥加密了相同的文本,结果不同。 有人能弄清楚为什么会这样吗? 字符串: 这是测试 密钥: 1234567812345678 PHP加密字符串: ybUaKwQlRNwOjJhxLWtLYQ == C#加密字符串: r2YjEFPyDDacnPmDFcGTLA == C#function static string Encrypt(string plainText, string key) { string cipherText; var rijndael = new RijndaelManaged() { Key = Encoding.UTF8.GetBytes(key), Mode = CipherMode.ECB, BlockSize = 128, }; ICryptoTransform encryptor = rijndael.CreateEncryptor(rijndael.Key, rijndael.IV); using (var memoryStream = new MemoryStream()) { using (var cryptoStream = […]

Rijndael 256在c#和php之间加密/解密?

更新 我已对C#代码进行了更改,因此它使用的块大小为256.但是现在hello世界看起来像这个http://pastebin.com/5sXhMV11而且我无法弄清楚我应该使用rtrim()来获取最后骑的烂摊子。 另外当你说IV应该是随机的时,你的意思是不要再使用相同的IV一次或者我编码错误的方式? 再次感谢! 嗨, 我正在尝试使用在C#中加密的PHP解密字符串。 我似乎无法让PHP使用mcrypt解密它,并且可以提供一些帮助。 我用php得到以下错误,所以我猜我没有正确设置IV。 错误:IV参数必须与块大小一样长 两个函数使用相同的密码,密钥,IV并设置为CBC模式: 来自c#的加密文本= UmzUCnAzThH0nMkIuMisqg == key 32 long = qwertyuiopasdfghjklzxcvbnmqwerty iv 16 long = 1234567890123456 C# public static string EncryptString(string message, string KeyString, string IVString) { byte[] Key = ASCIIEncoding.UTF8.GetBytes(KeyString); byte[] IV = ASCIIEncoding.UTF8.GetBytes(IVString); string encrypted = null; RijndaelManaged rj = new RijndaelManaged(); rj.Key = Key; rj.IV […]