怎样给shell执行文件加密

怎样给shell执行文件加密,第1张

第一种方法(gzexe):

这种加密方式不是非常保险的方法,但是能够满足一般的加密用途,可以隐蔽脚本中的密码等信息。

它是使用系统自带的gzexe程序,它不但加密,同时压缩文件。

使用方法:

gzexe file.sh

它会把原来没有加密的文件备份为 file.sh~ ,同时 file.sh 即被变成加密文件;

第二种方法(shc):

使用 shc 对 Linux shell 脚本加密.

shc是一个专业的加密shell脚本的工具.它的作用是把shell脚本转换为一个可执行的二进制文件,这个办法很好的解决了脚本中含有IP、密码等不希望公开的问题.

shc的下载地址:

http://download.chinaunix.net/download/0010000/9479.shtml

安装:

tar zxvf shc-3.8.tgz

cd shc-3.8

make test

make

make test

make strings

make install

使用方法:

shc -r -f script-name

运 行后会生成两个文件,script-name.x 和 script-name.x.c. 其中script-name.x是加密后的可执行的二进制文件;用./script-name即可运行,script-name.x.c是生成 script-name.x的原文件(c语言).

crypt是个密码加密函数,它是基於DataEncryptionStandard(DES)演算法。

crypt基本上是Onewayencryption,因此它只适用於密码的使用,不适合於资料加密。

char*crypt(constchar*key,constchar*salt)

key是使用者的密码。salt是两个字,每个字可从[a-zA-Z0-9./]中选出来,因此同一密码增加了4096种可能性。透过使用key中每个字的低七位元,取得56-bit关键字,这56-bIT关键字被用来加密成一组字,这组字有13个可显示的ASCII字,包含开头两个salt。

crypt在您有自行管理使用者的场合时使用,例如会员网站、BBS等等。

范例一:crypt_word.c

#include

#include

#include

voidmain(intargc,char**argv)

{

if(argc!=3)exIT(0)

printf("%sn",crypt(argv[1],argv[2]))

}

编译

gcc-ocrypt_wordcrypt.c-lcrypt

检验

请先看您的/etc/passwd,找一个您自己的帐号,看前面两个字,那是您自己的salt。接下来输入:

./crypt_wordyour_passwordsalt

看看它们是否相同(应该要相同,除非您加了cryptplugin或使用不同的crypt

function,例如shadow、pam,这种状况下,加密字是不同的),另外检验看看他们是否为13个字。

您也可以利用Apache上所附的htpasswd来产生加密字做为验证。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/6232716.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-18
下一篇2023-03-18

发表评论

登录后才能评论

评论列表(0条)

    保存