openssl 命令参数
openssl enc -d -p -aes-128-cbc -K 25683749789abcdeffedcba987654321 -iv 00000000000000000000000000000000 -nosalt -nopad -out 17_des.txt -in test17.txt
关于 -nopad,如果是加密的时候,表示,如果文件长度不够16整数倍数的话,则会报错。
openssl enc -e -p -aes-128-cbc -K 25683749789abcdeffedcba987654321 -iv 00000000000000000000000000000000 -nosalt -nopad -in input/1.txt -out test19.txt
key=25683749789ABCDEFFEDCBA987654321
iv =00000000000000000000000000000000
bad decrypt
140629442027968:error:0607F08A:digital envelope routines:EVP_EncryptFinal_ex:data not multiple of block length:../crypto/evp/evp_enc.c:419
如果没有这个参数,则会在最后的部分补上16-len%16个数据,数据==16-len%16【这个作为PAD指示】;然后开始加密,得到一个16整数倍的文件,
当反过来解密的时候,解密数据如果是16的整数倍,有这个参数表示PAD也作为有效数据据,解密出来的文件就是加了的数据,类似hexdump 19_des.txt
0000000 6568 6c6c 206f 6f77 6c72 3164 3332 3534
0000010 3736 0d0a 0d0d 0d0d 0d0d 0d0d 0d0d 0d0d。如果没有这个参数,则会将0d数据全部清空。
解密的时候数据必须为16的倍数。
否则
penssl enc -d -p -aes-128-cbc -K 25683749789abcdeffedcba987654321 -iv 00000000000000000000000000000000 -nosalt -nopad -out 19des -in test19.txt
key=25683749789ABCDEFFEDCBA987654321
iv =00000000000000000000000000000000
bad decrypt
140107304858048:error:0606508A:digital envelope routines:EVP_DecryptFinal_ex:data not multiple of block length:../crypto/evp/evp_enc.c:545:
xiongyf@ubuntu:~/work/2.4.0/platform/gxloader/tools/secure_tool/data_encryption$ openssl enc -d -p -aes-128-cbc -K 25683749789abcdeffedcba987654321 -iv 00000000000000000000000000000000 -nosalt -out 19des -in test19.txt
key=25683749789ABCDEFFEDCBA987654321
iv =00000000000000000000000000000000
bad decrypt
140488754790848:error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length:../crypto/evp/evp_enc.c:553:
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
