我有一个客户需要我们使用Blowfish ECB加密和cipherMode 0,输出1.我试图解决这个问题,但是我陷入困境。我如何修复我的代码?C#实现中的Blowfish ECB加密
这里有完整的客户端说明:
算法:河豚 ·模式:ECB ·填充:PKCS5Padding *初始向量是不必要的,因为我们使用ECB模式。
例 ·加密密钥:2fs5uhnjcnpxcpg9 →纯文本:3280:99:20120201123050 →密文:daa745f1901364c0bd42b9658db3db96336758cd34b2a576 *请保持密文有16个十六进制字符。 *请生成没有“盐”的密文。
我需要用C#编写它。下面是我做什么,但似乎并不奏效:
string member_id = "3280";
string panelType = "99";
string RandomString = "20120201123050";
string encryptionKey = "2fs5uhnjcnpxcpg9";
string cryptstr = member_id + ":" + panelType + ":" + RandomString;
string plainText = cryptstr;
BlowFish b = new BlowFish(encryptionKey);
string cipherText = b.Encrypt_ECB("3280:99:20120201123050");
结果不daa745f1901364c0bd42b9658db3db96336758cd34b2a576。我哪里做错了?
哇,这是关于最差的安全明智!即使是Blowfish的作者也不再使用它,现在他使用AES。不要使用ECB模式,这是不安全的,请参阅[ECB模式](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Electronic_Codebook_.28ECB.29),向下滚动到企鹅。 – zaph
你要输入什么来获得Blowfish课程?而且由于我没有看到你为填充设置了任何东西,那么包含Blowfish类的库的默认文档默认为它正在使用? –
最后是更新安全性的时候了,AES已经有15年了,客户应该真的努力,再等15年将是荒谬的。 – zaph