2023年8月3日发(作者:)
Linux下OpenSSL加密解密压缩⽂件(AES加密压缩⽂件)OpenSSL是⼀个开源的⽤以实现SSL协议的产品,它主要包括了三个部分:密码算法库、应⽤程序、SSL协议库。Openssl实现了SSL协议所需要的⼤多数算法。下⾯介绍使⽤Openssl进⾏⽂件的对称加密操作。⼀、Openssl⽀持的加密算法有:-aes-128-cbc -aes-128-cfb -aes-128-cfb1-aes-128-cfb8 -aes-128-ecb -aes-128-ofb-aes-192-cbc -aes-192-cfb -aes-192-cfb1-aes-192-cfb8 -aes-192-ecb -aes-192-ofb-aes-256-cbc -aes-256-cfb -aes-256-cfb1-aes-256-cfb8 -aes-256-ecb -aes-256-ofb-aes128 -aes192 -aes256-bf -bf-cbc -bf-cfb-bf-ecb -bf-ofb -blowfish-cast -cast-cbc -cast5-cbc-cast5-cfb -cast5-ecb -cast5-ofb-des -des-cbc -des-cfb-des-cfb1 -des-cfb8 -des-ecb-des-ede -des-ede-cbc -des-ede-cfb-des-ede-ofb -des-ede3 -des-ede3-cbc-des-ede3-cfb -des-ede3-ofb -des-ofb-des3 -desx -desx-cbc-rc2 -rc2-40-cbc -rc2-64-cbc-rc2-cbc -rc2-cfb -rc2-ecb-rc2-ofb -rc4 -rc4-40⼆、OpenSSL加密指令语法:SYNOPSISopenssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e][-d] [-a] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-p][-P] [-bufsize number] [-nopad] [-debug]说明:-chipername选项:加密算法,Openssl⽀持的算法在上⾯已经列出了,你只需选择其中⼀种算法即可实现⽂件加密功能。-in选项:输⼊⽂件,对于加密来说,输⼊的应该是明⽂⽂件;对于解密来说,输⼊的应该是加密的⽂件。该选项后⾯直接跟⽂件名。-out选项:输出⽂件,对于加密来说,输出的应该是加密后的⽂件名;对于解密来说,输出的应该是明⽂⽂件名。-pass选项:选择输⼊⼝令的⽅式,输⼊源可以是标准输⼊设备,命令⾏输⼊,⽂件、变量等。-e选项:实现加密功能(不使⽤-d选项的话默认是加密选项)。-d选项:实现解密功能。-a和-A选项:对⽂件进⾏BASE64编解码操作。-K选项:⼿动输⼊加密密钥(不使⽤该选项,Openssl会使⽤⼝令⾃动提取加密密钥)。-IV选项:输⼊初始变量(不使⽤该选项,Openssl会使⽤⼝令⾃动提取初始变量)。-salt选项:是否使⽤盐值,默认是使⽤的。-p选项:打印出加密算法使⽤的加密密钥。三、⽤法举例:1、使⽤aes-128-cbc算法加密⽂件:openssl enc -aes-128-cbc -in -out (注:这⾥是你想要加密的⽂件,是加密后的⽂件,回车后系统会提⽰你输⼊密码。)2、解密刚才加密的⽂件:openssl enc -d -aes-128-cbc -in -out (注:是刚才加密的⽂件,是解密后的⽂件,-d选项实现解密功能。)3、加密⽂件后使⽤BASE64格式进⾏编码:openssl enc -aes-128-cbc -in -out -a4、使⽤多种⼝令输⼊⽅式加密:openssl enc -des-ede3-cbc -in -out -pass pass:111111(这种⽅法的好处是你可以把它写⼊到脚本中,⾃动完成加密功能,不使⽤pass选项默认系统会提⽰输⼊密码并且确认,是需要⼈⼯操作的。)5、使⽤多种⼝令输⼊⽅式解密:openssl enc -d -des-ede3-cbc -in -out -pass pass:1111116、使⽤CBC模式、PKCS5Padding补码⽅式的AES(128位)加密算法对压缩⽂件进⾏加密解密openssl enc -e -aes-128-cbc -iv 0708 -K 23456 -in -out (加密)openssl enc -aes-128-cbc -d -in -out -K 23456 -iv 0708(解密)7、php中执⾏Linux命令exec()原型:string exec (string command [, string array [, int return_var]])exec ()函数与system()类似,也执⾏给定的命令,但不输出结果,⽽是返回结果的最后⼀⾏。虽然它只返回命令结果的最后⼀⾏,但⽤第⼆个参数array 可以得到完整的结果,⽅法是把结果逐⾏追加到array的结尾处。所以如果array不是空的,在调⽤之前最好⽤unset()最它清掉。只有指定了第⼆ 个参数时,才可以⽤第三个参数,⽤来取得命令执⾏的状态码。例⼦:复制代码 代码如下:
发布者:admin,转转请注明出处:http://www.yc00.com/news/1691033045a491341.html
评论列表(0条)