2010-09-07 4 views
6

Ich kann Daten mit ColdFusion mit AES_128 verschlüsseln. Ich kann auch Daten mit MSSQL AES_128 verschlüsseln. Weiß jemand, ob es möglich ist, Daten in ColdFusion mit AES_128 zu verschlüsseln und dann die Zeichenkette in MSSQL zu entschlüsseln?SQL & ColdFusion-Verschlüsselung

Ich habe viel damit herumgespielt und kann es anscheinend nicht herausfinden.

Danke, Paul

+0

Haben Sie versucht, die Verschlüsselung/Entschlüsselung von Passwörtern auf beiden Seiten zu verwenden? –

+0

Ja, ich habe das schon probiert. Ich denke nicht, dass Sie einen erweiterten Algorithmus wie AES mit Passphrase in SQL verwenden können. – Paul

Antwort

3

Ja, das ist möglich. Es gibt nichts über AES, das es proprietär macht. Es gibt jedoch viele Möglichkeiten, eine Blockchiffre zu implementieren, und die meisten davon sind falsch. MS SQL encryptbykey() verwendet ECB-Modus und standardmäßig ANSI_PADDING. Ich würde versuchen, eine Nachricht mit dem gleichen Schlüssel mit einem AES im ECB-Modus zu entschlüsseln und es wird wahrscheinlich einfach funktionieren. Der CBC-Modus sollte verwendet werden, aber dies erfordert eine IV, und encryptbykey() akzeptiert keine IV als Parameter, also seinen ECB-Modus. (MySQL auch ecb-Modus, ich habe den Code angeschaut. Es ist eine Schande, ich kann das nicht mit MS SQL).

+0

Ich verwende bereits die Methode encryptbykey(). Ich bin in der Lage, die Zeichenfolge in SQL zu verschlüsseln und zu entschlüsseln, aber ich denke, das Problem ist, dass MSSQL einen symmetrischen Schlüssel zum Verschlüsseln und Entschlüsseln der Daten und der serverseitigen Sprache, die ich verwende, verwendet (was ColdFusion ist). erfordert auch einen Schlüssel, aber ich kann diesen Schlüssel in ColdFusion nicht replizieren, da, soweit ich weiß, Sie den Inhalt des symmetrischen Schlüssels nicht richtig anzeigen können? Ich habe versucht, den gui_key des Symmetrischen Schlüssels zu verwenden, aber das hat nicht funktioniert. – Paul

+0

@Paul aes ist eine symmetrische Chiffre. gui_key() ist eine string2key-Funktion und hat nichts mit Symmetrie zu tun, sondern ist eigentlich ein Message Digest. Sie könnten eine andere string2key-Funktion verwenden oder zufällig einen Schlüssel generieren, und Sie benötigen dafür keine string2key-Funktion. – rook