2016-07-28 9 views
-1

Ich bin auf der Suche nach einer grundlegenden Verschlüsselungsroutine, die ich in js verwenden kann. Grundsätzlich muss ein Client eine verschlüsselte Zeichenfolge an eine js-lib übergeben und die js-lib muss die Zeichenfolge entschlüsseln. Die übermittelten Informationen sind grundlegend und nicht hochsensibel, so dass die Verschlüsselung nicht zu hoch sein muss. Die Verschlüsselung muss nur grundlegend sein. Ich dachte über eine Base64-Kodierungsroutine nach, aber das ist ein bisschen zu einfach und einfach zu entschlüsseln. Gibt es etwas wie base64-Kodierung mit einem Schlüssel, um eine grundlegende Wendung einzuführen? Welche Art von Verschlüsselung würden Sie in diesem Szenario verwenden?Suche nach einer grundlegenden Verschlüsselungsroutine für js

+0

Warum verschlüsseln in JS, wo alle beide verwendeten Algorithmus und Schlüssel sehen ? –

Antwort

1

Sie so etwas wie aes-js verwenden:

von der Seite https://github.com/ricmoo/aes-js

hier ist ein Beispiel für die Nutzung:

var key = aesjs.util.convertStringToBytes("Example128BitKey"); 

// The initialization vector, which must be 16 bytes 
var iv = aesjs.util.convertStringToBytes("IVMustBe16Bytes."); 

// Convert text to bytes 
var text = 'TextMustBe16Byte'; 
var textBytes = aesjs.util.convertStringToBytes(text); 

var aesCbc = new aesjs.ModeOfOperation.cbc(key, iv); 
var encryptedBytes = aesCbc.encrypt(textBytes); 

// The cipher-block chaining mode of operation maintains internal 
// state, so to decrypt a new instance must be instantiated. 
var aesCbc = new aesjs.ModeOfOperation.cbc(key, iv); 
var decryptedBytes = aesCbc.decrypt(encryptedBytes); 

// Convert our bytes back into text 
var decryptedText = aesjs.util.convertBytesToString(decryptedBytes); 
console.log(decryptedText); 
// "TextMustBe16Byte" 
+1

Solche Fragen sind off-topic und sollten nicht beantwortet werden. – nicael

+0

Danke John. AES ist ziemlich anstrengend, da die USA es zum Schutz von Verschlusssachen verwenden. Etwas Leichteres würde wahrscheinlich besser für meine aktuellen Bedürfnisse funktionieren, weil eine der Erwartungen an diese js-Bibliothek darin besteht, die Auswirkungen auf die Antwortzeit so gering wie möglich zu halten. – user6604655