我需要爲服務器創建一個加密密碼。此服務器使用Blowfish加密來執行加密。現在,這裏是信息我有:用字節[24]長度的BLOWFISH創建加密密碼
- KEY: 「12345678abcdefgmypassword」
- 塊大小:8個字節 - 64位
- END BYTES:字節[24]
的數據,我要加密的是「ABCDEFG12345678」。
我遇到的問題是得到只有24個字節的加密,每次我得到48個。 我認爲我最大的問題是因爲我無法將自己的頭圍繞在應該發生的事情上!
下面是我的一些代碼:
> BlowFish b = new BlowFish("12345678abcdefgmypassword");
> Here I get the key array of byte[12]
> plainText = "ABCDEF";
> cipherText = b.Encrypt_CBC(plainText);
> var encodedString = System.Text.Encoding.ASCII;
> byte[] myByteArray = encodedString.GetBytes(cipherText);
現在的問題,我有: 1.什麼是塊的大小?我該如何使用它? 2.如何得到低於或等於字節[24]的字節?
我真的希望你們中的一些人能幫助我的大腦開始朝着正確的方向前進。 謝謝。
你實際上是指blowfish加密還是bcrypt哈希? – CodesInChaos 2013-02-25 19:05:28
我懷疑你搞砸了編碼的地方。 – CodesInChaos 2013-02-25 19:06:56
在密文上使用ASCII不可能是正確的。如果'Encrypt_CBC'返回一個十六進制字符串,則需要對其應用十六進制解碼。 – CodesInChaos 2013-02-25 19:07:56