红包
◆ [2024-12-22 星期日 10:57] ◆
您来自:3.133.148.130,欢迎您访问風雲工作室。
◆
收藏本站
◆ | ◆
设为首页
◆
联系站长(腾讯QQ)
5029111 [風雲]
〓
站长当前离线
〓
首 页
论坛交流
游戏频道
无忧脚本
旧版论坛
云服务器
聊 天 室
自助链接
来访记录
访客留言
搜索提供
位置:
風雲工作室
-
论坛交流
-
技术专栏
-
脚本中心
- 【原创】JS实现简单的HASH算法
返回
主题:【原创】JS实现简单的HASH算法
Rimifon
★☆☆☆☆☆☆☆☆☆
积分:285
发帖:317
登录:2024/3/26
注册:2006/6/28
(1楼)
【原创】JS实现简单的HASH算法
<script type="text/javascript"> function hash(str) { str += ""; var arr = new Array, len = str.length; var arg = Math.SQRT2.toFixed(9) - 0; forEach(function (x) { arr[x] = 0; }); for (var i = 0; i < str.length; i++) calc(str.charCodeAt(i)); forEach(function (x) { arr[x] = arr[x].toString(16); if (arr[x].length < 2) arr[x] = "0" + arr[x]; }); arr.reverse(); return arr.join(""); function calc(nmb) { var c = nmb & 255, next = nmb >> 8; forEach(function (x) { var h = (x ? arr[x - 1] : 0) + arr[x] + x + len + c; h += (h / arg).toFixed(9).slice(-3) - 0; arr[x] = h & 255; }); if (next > 0) calc(next); } function forEach(func) { for (var i = 0; i < 16; i++) func(i); } } // 测试结果 console.log(hash("\x00")); //"f66c78ed57fe3b83eb7bfc5fcf29060e" console.log(hash("\x01")); //"5020f05de58d937d38a33b86f6502d35" console.log(hash("\x02")); //"4493772230d4090cb79e78f34680455b" console.log(hash("\x00\x00")); //"49cf24f9948663e02a919e18d1c40707" alert(hash("a")); </script>
[您可以先修改代码再运行]
風雲工作室
时间:
2018年4月20日 13:43:19
IP:
已记录
引用
回复
© Copyright 2006-2024,
風雲工作室
All rights reserved.
【
湘ICP备05009306号
】
QQ登录
操作 1 个库,连接 2 次,执行 7 次,耗时 1984 毫秒。