Convertieren des Coldfusion-Verschlüsselungscodes in C #
Ich habe eine Coldfusion-Seite, die einen Codeabschnitt enthält, der eine Variable wie diese verschlüsselt:
<cfset data64 = toBase64(key)>
<cfset encryptedID = encrypt(getUser.ID, data64, "BLOWFISH", "Base64")>
Wir verschieben die Site auf ein .NET-basiertes CMS. Ich muss diese Seite in C # konvertieren, aber es treten Probleme auf.
Ich habe die erste Zeile erfolgreich in diese konvertiert:
byte[] keyBytes = System.Text.Encoding.UTF8.GetBytes(key);
string keyBase64 = System.Convert.ToBase64String(keyBytes);
Ich habe auch die Klasse blowfish.cs hinzugefügt, die unter @ zu finden ishttps: //defuse.ca/blowfish.ht, aber ich bin ein wenig unsicher, wie ich das mit dem Schlüssel verwenden soll (und ob ich EZB, CBC oder CTR verwenden möchte). Ich bin mir auch nicht sicher, was das Analoge für die Verwendung der Base64-Codierung in Coldfusion ist ... das ist, was ich derzeit versuche, was nicht zu den gleichen Ergebnissen wie der ursprüngliche Code führt:
BlowFish b = new BlowFish(keyBase64);
byte[] idBytes = System.Text.Encoding.UTF8.GetBytes(thisUser["ID"].ToString());
byte[] idBytesEncrypted = b.Encrypt_ECB(idBytes);
string idBase64 = System.Convert.ToBase64String(idBytesEncrypted);
Ich habe im Allgemeinen nicht viel Erfahrung mit Verschlüsselung, und der Coldfusion-Code wurde mithilfe eines anderen Entwicklers erstellt, der keine C # -Erfahrung hat. Anregungen wäre sehr dankbar. Vielen Dank