转帖一个忘了出处的精华[MD5加密的javascript实现例子]

/* MD5 Message-Digest Algorithm - JavaScript
' MODIFICATION HISTORY:
' 1.0    16-Feb-2001 - Phil Fresle (sales@frez.co.uk) - Initial Version (VB/ASP code)
' 1.0    21-Feb-2001 - Enrico Mosanghini (erik504@yahoo.com) - JavaScript porting
*/
function MD5(sMessage) {
function RotateLeft(lValue, iShiftBits) { return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits)); }
function AddUnsigned(lX,lY) {
    var lX4,lY4,lX8,lY8,lResult;
    lX8 = (lX & 0x80000000);
    lY8 = (lY & 0x80000000);
    lX4 = (lX & 0x40000000);
    lY4 = (lY & 0x40000000);
    lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
    if (lX4 & lY4) return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
    if (lX4 | lY4) {
        if (lResult & 0x40000000) return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
        else return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
    } else return (lResult ^ lX8 ^ lY8);
}
function F(x,y,z) { return (x & y) | ((~x) & z); }
function G(x,y,z) { return (x & z) | (y & (~z)); }
function H(x,y,z) { return (x ^ y ^ z); }
function I(x,y,z) { return (y ^ (x | (~z))); }
function FF(a,b,c,d,x,s,ac) {
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
    return AddUnsigned(RotateLeft(a, s), b);
}
function GG(a,b,c,d,x,s,ac) {
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
    return AddUnsigned(RotateLeft(a, s), b);
}
function HH(a,b,c,d,x,s,ac) {
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));

时间: 2024-08-29 12:51:19

转帖一个忘了出处的精华[MD5加密的javascript实现例子]的相关文章

怎么对一个视频(音频)文件进行加密处理?

问题描述 怎么对一个视频(音频)文件进行加密处理? 基于QT5的,要有一个视频(音频)加密处理功能,求资源或讲解 解决方案 推荐AES,视频加密的关键在于,使用流加密的算法,比如AES,这样就可以一遍解密一边播放.有的加密算法不支持流,就只能下载整个文件才能解密了.http://my.oschina.net/oldfeel/blog/200455http://wenku.baidu.com/link?url=HAml9BQQEwFOrcp6HN2Q9Fe7Wj5W11z4XOtZjndfluLy

急求一个Spring+Hibernate对MySQL数据库进行增删改查的例子!!!!

问题描述 现急求一个Spring+Hibernate对MySQL数据库进行增删改查的例子,例子比较简单也可以,主要就是要对数据库进行增删改查操作.如果哪位有的话请发到邮箱(395897780@qq.com),或者告诉我网址也行!最好是能连工程一起打包下载的,能够运行的,由于刚刚开始学,想下个完整的下来,怎样便于分析!!!本人在这里先表示感谢!!!!! 解决方案 解决方案二:其实不用这样,你用工具做,其中的包就可以生成的,注意:Hibernate一定要托管给Spring:之后以前Hibernate

vb.net 怎么获取一个文件夹所有文件的MD5值?

问题描述 大家好!谁能帮我写一段代码?vb.net怎么获取一个文件夹所有文件的MD5值?大家能不能提供源代码? 解决方案 解决方案二: 我给你分解一下1.获取每个文件的md5值2.遍历文件夹,如果是文件就调用上面函数计算3.输出计算值解决方案三: 将文件夹打包,然后对打包文件进行MD5计算或者遍历文件夹,然后对每一个MD5计算解决方案四: 给你写了一个完整的例子ImportsSystem.IOImportsSystem.Security.CryptographyImportsSystem.Lin

python-js里md5加密,对原字符串加上一个空字符串之后md5值改变

问题描述 js里md5加密,对原字符串加上一个空字符串之后md5值改变 做爬虫的时候需要模拟登录,然而登录算法十分闹心 如图salt = "" h1 = "g?n·?EA{3??I???" 然而对h1进行md5和对(h1+salt)进行md5,两个值不同 对js不太懂,不知道js对空字符串是怎么处理的 但是在其他语言(python)实现的时候,无法得到这种效果啊 都是直接把空字符串忽略了,md5后与有没有加空字符串无关,值都是一样的 已经解决了,正如1L所说,sal

如何给一个自己定义的字符串进行3DES加密?

问题描述 如何给一个自己定义的字符串进行3DES加密? 要怎么做呢,是自己定义的24个字节的字符串,求大神指教啊.. 解决方案 试试这样: final byte[] keyBytes = {0x11, 0x22, 0x4F, 0x58, (byte)0x88, 0x10, 0x40, 0x38 , 0x28, 0x25, 0x79, 0x51, (byte)0xCB, (byte)0xDD, 0x55, 0x66 , 0x77, 0x29, 0x74, (byte)0x98, 0x30, 0x4

一个简单的后台与数据库交互的登录与注册[sql注入处理、以及MD5加密]_mssql2008

一.工具:  vs2013[因为我现在用的也是2013,版本随便你自己开心]  sql2008[准备过久升级]  二.用到的语言 HTML+CSS+Jquery+Ajax+sqlserver HTML[相当于一个人] css[要穿衣服] Jquery[人要做一些动作,Jquery是对js一些常用方法的封装] Ajax[建立前端页面与数据库的交互] sqlserver[数据库]  三.过程html部分代码: <body> <div id="header"> <

哪位能否可以提供一个vs2010中datagridview实现数据新增,修改删除的完整例子

问题描述 哪位能否可以提供一个vs2010中datagridview实现数据新增,修改删除的完整例子 解决方案 解决方案二:vs2010还没用过~~应该和2008和2005一样吧解决方案三:你可以直接利用向导,绑定datagridview数据源到sqlserver呀解决方案四:2010的就牛逼了?不一个样嘛自己写update,insert,delete或者用绑定自动更新解决方案五:晕哦..都一样的...4.0版本只是改了少部分东西~~~~解决方案六:我不建议数据库与显示控件绑定起来.如果这样容易

小白一个。求助,怎么破解RAR加密文件

问题描述 小白一个.求助,怎么破解RAR加密文件 如题如题如题如题如题如题如题如题如题如题如题如题如题如题如题如题如题如题如题如题如题如题如题如题如题如题如题 解决方案 rar加密是真加密,不同于伪加密软件(所谓的秒加密,只是通过某些手段让用户正常情况下不能打开,而源文件本身并未改变),真加密将源文件通过某种算法后生产的新的文件,当然这种算法是可逆的,解压时需要再次计算出源文件,网上可以找到一些暴力破解工具进行密码猜测,不仅耗费时间.资源而且效果也不是很理想,这个取决于原密码的复杂程度,所以可以

求一个C#写的 postmessage 鼠标移动和点击的例子。

问题描述 求一个C#写的postmessage鼠标移动和点击的例子. 解决方案 解决方案二:顶一下