Introduction à 3des:
3DES (ou Triple DES) est le terme général du mot de passe de bloc de l'algorithme de chiffrement Triple Data. Il équivaut à appliquer trois fois un algorithme de cryptage DES à chaque bloc de données. En raison de la puissance de calcul améliorée des ordinateurs, la longueur de clé du mot de passe d'origine est devenu facilement forcé par brutalité; 3DES est conçu pour fournir une méthode relativement simple, à savoir pour éviter des attaques similaires en augmentant la longueur clé du DES, plutôt que de concevoir un tout nouvel algorithme de chiffre d'affaires.
Aujourd'hui, j'ai besoin d'implémenter les DES du côté client. J'ai rapidement trouvé http://www.tero.co.uk/des/code.php
Exemple d'application
var key = "Ceci est une clé de 24 octets !!"; var message = "Ceci est un message de test"; var cipherText = Des (clé, message, 1, 0); document.writeln ("Des test:" + stringToHex (CipherText));Bien sûr, il a été constaté que ce n'était pas ce dont nous avions besoin. Notre serveur utilise des-ede, qui semble s'appeler Triple Des en Java
Il y a une petite fosse ici qui prend en charge 3des
// Combien d'itérations (1 pour DES, 3 pour Triple DES) var itérations = key.length> 8? 3: 1; // Changé par Paul 16/6/2007 pour utiliser Triple DES pour 9+ clés d'octets
Mais il y a une petite erreur dans l'utilisation de la clé
S'il est de 64 bits, c'est la solution positive du DES, mais 3des peut être de 128 bits ou 192 bits.
Le processus de 3des est en (k3, DE (k2, en (k1, p)))))
Lorsque K1 = K3, une touche 128 bits simplifiée peut être utilisée.
key = "K1K1K1K1K2K2K2K2K2" En fait, il devrait être équivalent à K1K1K1K1K2K2K2K2K1K1K1K1K1. L'auteur ne l'a pas mis en œuvre
Un autre est le mode de rembourrage. En bref, lorsque le chiffrement des blocs, comment remplir un espace insuffisant? Vous trouverez ci-dessous le code source
if (padding == 2) message + = ""; // pad le message avec spaceSelse if (padding == 1) {temp = 8- (len% 8); Message + = String.fromCharcode (temp, temp, temp, temp, temp, temp, temp, temp); if (temp == 8) len + = 8;} // pkcs7 paddingElse if (! padding) message + = "/ 0/0/0/0/0/0/0/0/0/0/0"; // PAPEZ LE Message avec des octets nulsMaintenant, PKCS5 / 7 est généralement utilisé
Faites attention à ces deux points lorsque vous appelez, en fait, DeS-EDE est mis en œuvre.
Exemple
var key = "b964b7c58e99b59" + "b964b7c5"; var message = "Ceci est un message de test"; var ciphertext = des (key, message, 1, 0,0,1); document.writeln ("<br/> test de des3:" + stringtohex (chiffrex);Ce qui précède est le 3DES de JavaScript qui vous est présenté par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!