我不是一個develloper德爾福,但我必須改變這個Delphi代碼C#:翻譯Delphi代碼C#(河豚)
Function EncodeClave(Clave:String):String;
var
R: String;
FStringFormat:Integer;
begin
FStringFormat:=4196;
with TCipher_Blowfish.Create('CLAVE', nil) do
try
Mode := TCipherMode(0);
R := CodeString(Clave, paEncode, FStringFormat);
Result := R;
finally
Free;
end;
end;
我發現在我的研究以下網站:
http://www.bouncycastle.org/csharp/
和
http://www.schneier.com/code/blowfish.cs
我不明白這一行:
FStringFormat:=4196;
爲什麼有預定義的格式大小?用河豚(DECUtil)有另一種轉變嗎?
和模式:
Mode := TCipherMode(0);
在密碼
(http://www.koders.com/delphi/fidE1F5EC890EF9FD7D5FFEB524898B00BC8403B799.aspx) 參數 '模式' 的Delphi源
有以下順序: 羧甲基殼聚糖,cmCBC,cmCFB,cmOFB,cmECB,cmCTSMAC,cmCBCMAC,cmCFBMAC
所以我想在delphi模式0是cmCTS ...但實際上我不知道。
結果的一個例子:用戶:ADMIN傳遞:ADMIN --->通:fAtP3sk =
感謝RRUZ!爲什麼你可以肯定$ 1064 == 4196 ?? –
@Gilles:'$'表示Delphi中的十六進制,所以它在C#中是'0x1064',它是4196十進制。 –