JS 密码加密

首先需要注意的一点是,密码的加密应该是在页面完成的,因为传输的过程中,密码明文有可能会泄露出去。
然后要说明的就是,虽然在页面加密密码,加密算法暴露了,但是有些加密算法,比如MD5,即使知道加密算法,知道密文也很难得出明文是什么。
MD5是使用散列函数进行密码加密的,加密是单向的,如果不是两段相同的明文,结果很难一致。
网上有MD5的解密工具,但是那种工具一般都是查字典出来的,也就是说那种工具会在后台进行查找,如果它的数据库里没有明文,它是解密不了密文的。

Crypto下载地址:https://code.google.com/archive/p/crypto-js/downloads

Crypto的API:https://code.google.com/archive/p/crypto-js/

实例代码:

<!DOCTYPE>
<html>
    <head>
        <meta charset="UTF-8"/>
        <title></title>
        <script src="./md5.js"></script>
        <script >
            function escape(){
                var code = CryptoJS.AES(mainText.value);
                var tmpdiv = document.createElement("div");
                tmpdiv.innerHTML="\""+mainText.value+"\"" + "&emsp;&emsp;&emsp;&emsp;"+code;
                document.getElementById("main").appendChild(tmpdiv);
            }
        </script>
    </head>
    <body id="main">
        <input id="mainText" />
        <button onclick="escape()" type="button" >test</button>
    </body>
</html>
时间: 2024-10-18 17:25:49

JS 密码加密的相关文章

js密码加密

1.base64加密 在页面中引入base64.js文件,调用方法为: <!DOCTYPE HTML><html><head><meta charset="utf-8"><title>base64加密</title><script type="text/javascript" src="base64.js"></script><script ty

node.js密码加密实践

crypto crypto 模块提供了加密的功能,包括对 OpenSSL 的哈希.HMAC.加密.解密.签名.以及验证功能的一整套封装 const crypto = require('crypto'); // 使用require('crypto')来访问该模块 const secret = 'abcdefg'; const hash = crypto.createHamc('sha256', secret).update('I love cupcakes').digest('hex'); con

登陆验证前对用户名和密码加密之后传输数据---base64加密

以下这种方法是加密传输的简单实现 1,base64.js /** * * Base64 encode / decode * * */ function Base64() { // private property _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; // public method for encoding this.encode = function (input

2015最新webqq密码加密分析

最新webqq密码的加密方式分析过程(老),这个虽然不是最新的,但是分析过程值得参考. 2015最新WebQQ3.0协议解析与实现(二),这个是较新的,讲密码加密的. 下面是2015-9-11 webqq官网mq_comm.js的加密函数: function getEncryption(password, salt, vcode, isMd5) { vcode = vcode || ""; password = password || ""; var md5Pwd

QQ密码加密操作辅助类 QQEncryptUtil

实现效果  1)本辅助类主要是用来方便实现QQ密码加密操作.  2)在QQ的很多模拟网页采集数据,需要输入用户账号.密码,其中密码是需要进行加密操作的,一般使用js脚本实现,这里把它转化为C#的代码操作,其实也就是把密码和验证码通过3次MD5加密实现的. /// <summary>    /// QQ根据密码及验证码对数据进行加密    /// </summary>    /// <param name="password">原始密码</par

基于RSA的WEB前端密码加密方案

受制于WEB页面源码的暴露,因此传统的对称加密方案以及加密密钥都将暴露在JS文件中,同样可以被解密. 目前比较好的解决方案是WEB页面全程或用户登录等关键环节使用HTTPS进行传输. 另外一种解决方案就是通过RSA进行加密. RSA是一种非对称加密,也就是客户端通过公钥进行加密,服务端通过私钥进行解密.RSA算法请点击百度百科进行了解. 也就是说公钥并不能进行解密,因此进行明文传输也是安全的. 1.加密流程 服务端生成一组公钥与私钥,将公钥发送给客户端进行密码加密,在使用密钥进行解密. 2.密钥

用RSA加密实现Web登录密码加密传输

用RSA加密实现Web登录密码加密传输 通常我们做一个Web应用程序的时候都需要登录,登录就要输入用户名和登录密码,并且,用户名和登录密码都是明文传输的,这样就有可能在中途被别人拦截,尤其是在网吧等场合. 这里顺带一个小插曲,我以前有家公司,办公室装修时候安排的网口相对较少,不太够用,于是我和另外一个同事使用了一个hub来共享一个网口,这就导致了很有趣的现象:任何他的网络包我都能抓得到,当然了,我的他也能抓得到.这是不是有很大的安全隐患了?我有可能在不经意间会泄漏自己的密码. 所以,很多安全要求

RSA非对称算法实现HTTP密码加密传输

目前一般帐号系统,都是https来传输账户性息,申请一个https证书也不贵.但是网站的其它功能并不需要走https协议,https和http混布比较麻烦,所以决定先实现一个http协议传输RSA非对称密钥算法加密密码的方案.这样做只能说是保证不明文传密码,但是并不能防身份伪造,所以其实还是不安全的,只是目前产品能接受,算是一个过渡期吧.有需要的话还是要改成https的. 关于rsa算法,具体参考维基百科相关的介绍.简单来说,用rsa算法产生一对公钥和私钥,通信双方A和B,A用公钥加密要发送的数

Shiro自定义realm实现密码验证及登录、密码加密注册、修改密码的验证

一:先从登录开始,直接看代码 @RequestMapping(value="dologin",method = {RequestMethod.GET, RequestMethod.POST},produces="text/html;charset=UTF-8") @ResponseBody public ResultJson systemUserdologin(XXX xxx,HttpServletRequest request,HttpServletRespons