Pengantar 3des:
3DES (atau Triple DES) adalah istilah umum untuk kata sandi blok dari algoritma enkripsi data triple. Ini setara dengan menerapkan algoritma enkripsi DES tiga kali untuk setiap blok data. Karena daya komputasi yang ditingkatkan dari komputer, panjang kunci dari kata sandi DES asli menjadi mudah dipaksakan; 3DES dirancang untuk memberikan metode yang relatif sederhana, yaitu, untuk menghindari serangan serupa dengan meningkatkan panjang kunci DES, daripada merancang algoritma cipher blok baru.
Hari ini saya perlu menerapkan DES di sisi klien. Saya dengan cepat menemukan http://www.tero.co.uk/des/code.php
Contoh aplikasi
var key = "Ini adalah kunci 24 byte !!"; var message = "Ini adalah pesan uji"; var ciphertext = des (kunci, pesan, 1, 0); document.writeln ("des test:" + stringToHeHex (ciphertext));Tentu saja, ditemukan bahwa ini bukan yang kami butuhkan. Server kami menggunakan des-ede, yang tampaknya disebut triple des di java
Ada lubang kecil di sini yang mendukung 3Des
// Berapa banyak iterasi (1 untuk des, 3 untuk triple des) var iterasi = key.length> 8? 3: 1; // diubah oleh Paul 16/6/2007 untuk menggunakan Triple DES untuk kunci 9+ byte
Tapi ada kesalahan kecil dalam menggunakan kunci
Jika 64 bit, itu adalah solusi positif dari DES, tetapi 3DE mungkin 128 bit atau 192 bit.
Proses 3DE adalah EN (K3, DE (K2, EN (K1, P)))))
Ketika K1 = K3, kunci 128-bit yang disederhanakan dapat digunakan.
KEY = "K1K1K1K1K2K2K2K2K2" Sebenarnya, itu harus setara dengan K1K1K1K1K2K2K2K2K1K1K1K1K1. Penulis tidak mengimplementasikannya
Yang lainnya adalah mode bantalan. Singkatnya, ketika enkripsi blok, bagaimana seharusnya ruang yang tidak mencukupi diisi? Di bawah ini adalah kode sumber
if (padding == 2) pesan += ""; // Pad pesan dengan spaceselse if (padding == 1) {temp = 8- (len%8); pesan += string.fromCharCode (temp, temp, temp, temp, temp, temp, temp, temp); if (temp == 8) len += 8;} // pkcs7 paddingelse if (! padding) pesan += "/0/0/0/0/0/0/0/0/0/0/0/0"; // Pades pesan dengan nol byteSekarang PKCS5/7 umumnya digunakan
Perhatikan dua poin ini saat menelepon, pada kenyataannya des-ede diimplementasikan.
Contoh
var key = "b964b7c58e99b59" + "b964b7c5"; var pesan = "Ini adalah pesan uji"; var ciphertext = des (kunci, pesan, 1, 0,0,1); Document.writeln ("<br/> uji des3:" + stringtoHex (ciphertext);Di atas adalah 3des dalam JavaScript yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!