OpenSSL??????????,???????????????,??DES????????OpenSSL??DES???????:
??OpenSSL???????DES??
-
????
- ??
openssl des3
??????DES?????openssl des3 -salt -in plaintext.txt -out encrypted.bin -pass pass:yourpassword
-salt
?????????????-in plaintext.txt
???????-out encrypted.bin
????????????-pass pass:yourpassword
???????
- ??
-
????
- ??????????????????????,????????:
openssl des3 -salt -in plaintext.txt -out encrypted.bin -pass pass:yourpassword
- ??????????????????????,????????:
-
????
- ?????????,???????
des3
???des3 -d
:openssl des3 -d -salt -in encrypted.bin -out decrypted.txt -pass pass:yourpassword
- ?????????,???????
??OpenSSL??????DES??
???????????OpenSSL???DES??,??????C????:
#include#include #include #include void des_encrypt(const char *key, const char *input, char *output) { DES_cblock key_block; DES_key_schedule schedule; DES_cblock input_block; DES_cblock output_block; // ??????DES_cblock memcpy(key_block, key, 8); // ????????? DES_set_key_unchecked(&key_block, &schedule); // ????????DES_cblock memcpy(input_block, input, 8); // ??DES?? DES_ecb_encrypt(&input_block, &output_block, &schedule, DES_ENCRYPT); // ??????????????? memcpy(output, output_block, 8); } int main() { const char *key = "12345678"; // DES?????8??? const char *input = "HelloW"; char output[9]; // ?????,????? des_encrypt(key, input, output); printf("Encrypted: "); for (int i = 0; i < 8; i++) { printf("x", (unsigned char)output[i]); } printf("\n"); return 0; }
????
- DES????????????,?????56?????????????????,?AES?
- ??????,????????,??????????????
- ??OpenSSL??,???????????OpenSSL????
??????,?????OpenSSL??DES????????