DES属于对称加密算法 特点: 加密和解密使用相同的密钥 This is a simple c program of SSL DES encrypt/decrypt. /** * OPEN SSL Guide * http://www.openssl.org/docs/crypto/des.html */ #include <stdio.h> #include <openssl/des.h> int main(int argc,char **argv) { DES_cblock key; DES_string_to_key("MyKey", &key); DES_key_schedule schedule; DES_set_key_checked(&key, &schedule); // Input block cannot exceed 8, so the string length cannot exceed 7 (there is a '/0') DES_cblock cleartext = "Hello"; DES_cblock ciphertext; // DES_ecb_encrypt() is the basic DES encryption routine that // encrypts or decrypts a single 8-byte DES_cblock in electronic code book (ECB) mode. printf("Encrypt.../n"); printf("Cleartext :%s/n", cleartext); DES_ecb_encrypt(&cleartext, &ciphertext, &schedule, DES_ENCRYPT); printf("Ciphertext:"); for (int i = 0; i < sizeof(cleartext); i++) printf("%02x", ciphertext[i]); printf("/n"); printf("/nDecrypt.../n"); DES_ecb_encrypt(&ciphertext, &cleartext, &schedule, DES_DECRYPT); printf("Ciphertext:"); for (int i = 0; i < sizeof(cleartext); i++) printf("%02x", ciphertext[i]); printf("/n"); printf("Cleartext :%s/n", cleartext); return 0; }