lua对字符串加密
lua吧
全部回复
仅看楼主
level 8
oO幻想FLyOo 楼主
怎么找不到使用纯lua实现的md5或者其它的加密算法的 [疑问]
菜鸟求解
2014年10月11日 05点10分 1
level 8
oO幻想FLyOo 楼主
顺便问问lua如何把十进制转为二进制 [吐舌]
2014年10月11日 07点10分 2
level 8
第一: md5 不是我认为的字符串加密算法,我认为的字符串加密算法应该能解密的,可是md5的设计初衷是不能被解密的。
第二: 为什么没有用lua实现的加密算法?
1. 因为不需要,直接使用以前写好的或在网上下的c源码编译后给lua用就行,谁会闲得蛋疼把源码重新写一遍。就算写出来,有没有bug还不知道。
2. lua用来加密很容易被破解(艹皿艹 ) 。
3.纯lua加密的源码有啊,下面就是:
---------------------------------------------------------------------
s="要加密的文本"
len=s:len()
ostr=""
for i=1, len do
s1=string.char(string.byte(s.sub(s,i,i))+1)
ostr=ostr ..s1
end
print(ostr)
---------------------------------------------------------------------------------------------
好吧,上面的加密算法太逗比了,可是这就是一个加密算法啊。
    ------本人系文盲,贴中多数字不认识,多数词不明白其含义,回帖行为纯粹是身体缺乏营养,导致肌肉神经抽搐,被动随手敲击键盘所致,并不意味本人同意、支持、反 对,或了解、知晓文中观点,如有任何疑问请直接联系原作者本人。故本人不对以上内容负法律责任(包括民法、刑法或婚姻法,及文中提及或未提及之法律)。
2014年10月11日 10点10分 3
level 8
对了,md5的源码太长了,我就用BKDRHash 这个用lua实现给你看:
BKDRHash 源码:
unsigned int BKDRHash(char *str)
{
unsigned int seed = 131; // 31 131 1313 13131 131313 etc..
unsigned int hash = 0;
while (*str)
{
hash = hash * seed + (*str++);
}
return (hash & 0x7FFFFFFF);
}
lua源码:
s="要加密的文本"
len=s:len()
ostr=""
seed = 131
hash = 0
for i=1, len do
s1=string.byte(s.sub(s,i,i))
hash = (hash * seed + s1)%2^32
end
print(hash)
不知道对不对[太开心]
    ------本贴所有文章内容完全是复制粘贴,来源于国际互联网,本人并不明白其全部或部分之意思,故本人不对以上及本内容负任何法律责任(包括但不限于刑事、民 事责任)及其他潜在责任与义务(包括但不限于相关国家已存在、正在形成、未来将形成之的法律法规之责任),请不要跨省追捕。
2014年10月11日 10点10分 4
好吧,我一直都没怎么留意过加密,一般的位运算啊或者替换点东西啊之类的大概还是知道的,想偷懒习惯了 哈哈 看来莫非要自学然后自己写个md5 [勉强]
2014年10月11日 13点10分
level 8
把十进制转为二进制 ,这个我写过[滑稽]
t={} --用来存储二进制
i=1
function ten22 (num)
t[i]=num%2
num=math.floor(num/2)
i=i+1
end
for a=i,1,-1 do
io.write(t[a])
end
    ------本贴所有文章内容完全是复制粘贴,来源于国际互联网,本人并不明白其全部或部分之意思,故本人不对以上及本内容负任何法律责任(包括但不限于刑事、民 事责任)及其他潜在责任与义务(包括但不限于相关国家已存在、正在形成、未来将形成之的法律法规之责任),请不要跨省追捕。
2014年10月11日 10点10分 5
额,把最后第二个end移到最后面
2014年10月11日 10点10分
我也写了个今天,只是觉得有点悲催而已
2014年10月11日 13点10分
1