字符串转hashcode


function hashConvert(v,ext)
local ch = 0
local val = 0

if(v) then
for i=1,#v do
ch = v:byte(i)
if( ch >= 65 and ch <= 90 ) then
ch = ch + 32
end
val = val*0.7 + ch --0.7是加权
end
end
val = val .. ''
val = val:gsub("+","")
val = val:gsub("%.","")


if(ext)then
return string.format('%s.%s',val,ext)
else
return string.format('%s',val)
end
end

--test

print(hashConvert('http://192.168.1.131:8080/sns/head.jsp?id=3&width=40&height=40&type=jpeg','gif'))
print(hashConvert('http://192.168.1.131:8080/sns/head.jsp?id=5&width=40&height=40&type=jpeg','gif'))

--output
33444727508723.gif
33444733948534.gif


使用string 2 hashcode 在有些场合很方便, 比如页面图片缓存等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值