JavaScript 实现的几种加密方式(后续持续更新中。。。)

说明:

这个是我js破解时遇到的,然后把代码抠出来了,现在整理一下,日后遇到其他加密,也会更新保留在博客里面。如果有需要可以参考,如果有转载,请标明作者和链接,违者必究。如果觉得不错,可以给我点个赞,如果有更好的加密方法,欢迎评论分享哈,Thanks♪(・ω・)ノ

1、JavaScript实现md5加密

这个我直接上代码吧,可以运行出来,我这个是之前弄的,具体网站忘了,需要的可以直接测试。

function v(n) {
        return function(n) {
            return h(a(d(n), 8 * n.length))
        }(l(n))
    }

function h(n) {
        var r, t = ""
        for (r = 0; r < 32 * n.length; r += 8)
            t += String.fromCharCode(n[r >> 5] >>> r % 32 & 255)
        return t
    }

function l(n) {
        return unescape(encodeURIComponent(n))
    }
function d(n) {
        var r, t = []
        for (t[(n.length >> 2) - 1] = void 0,
        r = 0; r < t.length; r += 1)
            t[r] = 0
        for (r = 0; r < 8 * n.length; r += 8)
            t[r >> 5] |= (255 & n.charCodeAt(r / 8)) << r % 32
        return t
    }
function a(n, r) {
        n[r >> 5] |= 128 << r % 32,
        n[14 + (r + 64 >>> 9 << 4)] = r
        var t, u, a, h, d, g = 1732584193, l = -271733879, v = -1732584194, s = 271733878
        for (t = 0; t < n.length; t += 16)
            u = g,
            a = l,
            h = v,
            d = s,
            l = i(l = i(l = i(l = i(l = f(l = f(l = f(l = f(l = c(l = c(l = c(l = c(l = o(l = o(l = o(l = o(l, v = o(v, s = o(s, g = o(g, l, v, s, n[t], 7, -680876936), l, v, n[t + 1], 12, -389564586), g, l, n[t + 2], 17, 606105819), s, g, n[t + 3], 22, -1044525330), v = o(v, s = o(s, g = o(g, l, v, s, n[t + 4], 7, -176418897), l, v, n[t + 5], 12, 1200080426), g, l, n[t + 6], 17, -1473231341), s, g, n[t + 7], 22, -45705983), v = o(v, s = o(s, g = o(g, l, v, s, n[t + 8], 7, 1770035416), l, v, n[t + 9], 12, -1958414417), g, l, n[t + 10], 17, -42063), s, g, n[t + 11], 22, -1990404162), v = o(v, s = o(s, g = o(g, l, v, s, n[t + 12], 7, 1804603682), l, v, n[t + 13], 12, -40341101), g, l, n[t + 14], 17, -1502002290), s, g, n[t + 15], 22, 1236535329), v = c(v, s = c(s, g = c(g, l, v, s, n[t + 1], 5, -165796510), l, v, n[t + 6], 9, -1069501632), g, l, n[t + 11], 14, 643717713), s, g, n[t], 20, -373897302), v = c(v, s = c(s, g = c(g, l, v, s, n[t + 5], 5, -701558691), l, v, n[t + 10], 9, 38016083), g, l, n[t + 15], 14, -660478335), s, g, n[t + 4], 20, -405537848), v = c(v, s = c(s, g = c(g, l, v, s, n[t + 9], 5, 568446438), l, v, n[t + 14], 9, -1019803690), g, l, n[t + 3], 14, -187363961), s, g, n[t + 8], 20, 1163531501), v = c(v, s = c(s, g = c(g, l, v, s, n[t + 13], 5, -1444681467), l, v, n[t + 2], 9, -51403784), g, l, n[t + 7], 14, 1735328473), s, g, n[t + 12], 20, -1926607734), v = f(v, s = f(s, g = f(g, l, v, s, n[t + 5], 4, -378558), l, v, n[t + 8], 11, -2022574463), g, l, n[t + 11], 16, 1839030562), s, g, n[t + 14], 23, -35309556), v = f(v, s = f(s, g = f(g, l, v, s, n[t + 1], 4, -1530992060), l, v, n[t + 4], 11, 1272893353), g, l, n[t + 7], 16, -155497632), s, g, n[t + 10], 23, -1094730640), v = f(v, s = f(s, g = f(g, l, v, s, n[t + 13], 4, 681279174), l, v, n[t], 11, -358537222), g, l, n[t + 3], 16, -722521979), s, g, n[t + 6], 23, 76029189), v = f(v, s = f(s, g = f(g, l, v, s, n[t + 9], 4, -640364487), l, v, n[t + 12], 11, -421815835), g, l, n[t + 15], 16, 530742520), s, g, n[t + 2], 23, -995338651), v = i(v, s = i(s, g = i(g, l, v, s, n[t], 6, -198630844), l, v, n[t + 7], 10, 1126891415), g, l, n[t + 14], 15, -1416354905), s, g, n[t + 5], 21, -57434055), v = i(v, s = i(s, g = i(g, l, v, s, n[t + 12], 6, 1700485571), l, v, n[t + 3], 10, -1894986606), g, l, n[t + 10], 15, -1051523), s, g, n[t + 1], 21, -2054922799), v = i(v, s = i(s, g = i(g, l, v, s, n[t + 8], 6, 1873313359), l, v, n[t + 15], 10, -30611744), g, l, n[t + 6], 15, -1560198380), s, g, n[t + 13], 21, 1309151649), v = i(v, s = i(s, g = i(g, l, v, s, n[t + 4], 6, -145523070), l, v, n[t + 11], 10, -1120210379), g, l, n[t + 2], 15, 718787259), s, g, n[t + 9], 21, -343485551),
            g = e(g, u),
            l = e(l, a),
            v = e(v, h),
            s = e(s, d)
        return [g, l, v, s]
    }

 function u(n, r, t, u, o, c) {
        return e(function(n, r) {
            return n << r | n >>> 32 - r
        }(e(e(r, n), e(u, c)), o), t)
}
function o(n, r, t, e, o, c, f) {
    return u(r & t | ~r & e, n, r, o, c, f)
}

function e(n, r) {
        var t = (65535 & n) + (65535 & r)
        return (n >> 16) + (r >> 16) + (t >> 16) << 16 | 65535 & t
    }
function c(n, r, t, e, o, c, f) {
        return u(r & e | t & ~e, n, r, o, c, f)
    }
function f(n, r, t, e, o, c, f) {
        return u(r ^ t ^ e, n, r, o, c, f)
}
function i(n, r, t, e, o, c, f) {
    return u(t ^ (r | ~e), n, r, o, c, f)
}

// console.log(v("wen字加密"))

// var new_pwd = 

function g(n) {
    var r, t, e = ""
    for (t = 0; t < n.length; t += 1)
        r = n.charCodeAt(t),
        e += "0123456789abcdef".charAt(r >>> 4 & 15) + "0123456789abcdef".charAt(15 & r)
    return e
}

console.log(g(v("wen字加密")))

2、base64

我另一个博客中有相关base64 的。https://blog.csdn.net/weixin_42081389/article/details/93884080

简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、级、高级等,详情看源码列表,需要可以直接下载! 这些源码反映了那时那景笔者对未来盲目,对代码热情、执着,对IT憧憬、向往!此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本音乐编辑功能编辑音乐软件朋友,这款实例会对你有所帮助 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机流程及操作:获取系统属性,初始化JNDI,取得Home对象引用,创建EJB对象,并将当前计数器初始化,调用每一个EJB对象count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存清除,从账户取出amt,如果amt>账户余额抛出异常,一个实体Bean可以表示不同数据实例,我们应该通过主键来判断删除哪个数据实例…… ejbCreate函数用于初始化一个EJB实例 5个目标文件,演示Address EJB实现 ,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化上下文,用clientgetHome()函数调用Home接口函数得到远程接口引用,用远程接口引用访问EJB EJBJNDI使用源码例子 1个目标文件,JNDI使用例子,有源代码,可以下载参考,JNDI使用,初始化Context,它是连接JNDI树起始点,查找你要对象,打印找到对象,关闭Context…… ftp文件传输 2个目标文件,FTP目标是:1提高文件共享性计算机程序和/或数据2鼓励间接地通过程序使用远程计算机,3保护用户因主机之间文件存储系统导致变化,4为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,但是它主要作用是供程序使用本规范尝试满足大型主机、微型主机、个人工作站、和TACs 不同需求例如,容易实现协议设计 Java EJB有、无状态SessionBean两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象引用,创建EJB对象,计算利息等;在有状态SessionBean,用累加器,以对话状态存储起来,创建EJB对象,并将当前计数器初始化,调用每一个EJB对象count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存清除…… Java Socket 聊天通信演示代码 2个目标文件,一个服务器,一个客户端 Java Telnet客户端实例源码 一个目标文件,演示Socket使用 Java 组播组发送和接受数据实例 3个目标文件 Java读写文本文件示例代码 1个目标文件 java俄罗斯方块 一个目标文件 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密   Java非对称加密源程序代码实例,本例使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等   设定字符串为“张三,你好,我是李四”   产生张三密钥对(keyPairZhang)   张三生成公钥(publicKeyZhang)并发送给李四,这里发送是公钥数组字节   通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后公钥,将其解码,李四用张三公钥加密信息,并发送给李四,张三用自己私钥解密从李四处收到信息…… Java利用DES私钥对称加密代码实例 同上 java聊天室 2个目标文件,简单 java模拟掷骰子2个 1个目标文件,输出演示 java凭图游戏 一个目标文件,简单 java求一个整数因子 如题 Java生成密钥实例 1个目标文件 摘要:Java源码,算法相关,密钥   Java生成密钥、保存密钥实例源码,通过本源码可以了解到Java如何产生单钥加密密钥(myKey)、产生双钥密钥对(keyPair)、如何保存公钥字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从文件得到公钥编码字节数组、如何从字节数组解码公钥 Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输   Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲
相关推荐
©️2020 CSDN 皮肤主题: 撸撸猫 设计师:马嘣嘣 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值