前端加密方式及小结

web端加密的问题和作用

1. 前端对用户密码进行哈希值加密,比如说 md5 ,然后别人抓包,可以模拟登陆了。但是他仅仅是能登陆,他并不知道你的源密码是啥,他截获的是md5加密过的密文,这样就大大降低了社会学攻击。(解释一些,社会学攻击。大家习惯性将各个平台账号设置为一个或者几个密码,方便记忆,人家拿了你一个,就去试别的,Duang!爆炸了!)

2. 前端加密也有一定安全性。我们简单的加密,会被抓包,那我们可以将加密变得复杂一些。使这个直接抓包无法登陆,或者不容易登陆。

如何安全加密(模仿qq,微信支付宝登录)

  1.  使用 https。 你甚至可以用https登陆,完事再重定向到http的页面,保证你页面加载的流畅性

  2.  就用 http。将  密码+时间戳  加密后传输,服务端解密,并按照时间戳3s有效的方式允许登陆.这样也能加强安全性   ps:3s 是我 yy 的哈

比较二者:http 与 https

  1. 传输协议概念。

    http: 超文本传输协议,用于Web浏览器和网站服务器之间传递信息。明文方式发送内容,不提供任何方式的数据加密,入侵者可以抓包直接获取传输的报文,进而获取用户数据。
    https: 安全套接字层超文本传输协议,它在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

      分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

  2. 比较2种协议

    a、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。 而http不要钱
    b、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
    c、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
    d、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

  3. https的步骤

    a、客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
    b、Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
    c、客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
    d、客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
    e、Web服务器利用自己的私钥解密出会话密钥。
    f、Web服务器利用会话密钥加密与客户端之间的通信。

 

1,----js函数escape()和unescape(),操作对象字符串;

document.write(escape("xxxxxxxxxxxxxxxxxxx") )
var code=unescape("%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B"); ---------eval(code) 
  1. escape()方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。因为该方法本质就是将非ASCLL码字符替换

  2. unescape(),将ASCLL码解码转换成字符串;

2,----MD5加密

  1. 1,md5加密很简单,在js中导入MD5.js。然后在js脚本中编写

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>md5加密</title>
<script type="text/ecmascript" src="md5.js"></script>
<script type="text/javascript">  
  var hash = hex_md5("123dafd");
    alert(hash)
</script>  
</head>

<body>
</body>
</html>

MD5没有解密算法,或者说解密算法很复杂。在数据库中存放的密码可能是经过两次MD5加密的字符串

3 ,---- sha1加密

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>sha1加密</title>
<script type="text/ecmascript" src="sha1.js"></script>
<script type="text/javascript">
  var sha = hex_sha1('mima123465')
    alert(sha)   
</script>  
</head>

<body>
</body>
</html>

4,----base64加密解密

base64既可以加密也可以解密,导入base64.js然后在js脚本中

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>base64加密</title>
<script type="text/javascript" src="base64.js"></script>
<script type="text/javascript">  
        var b = new Base64();  
        var str = b.encode("admin:admin");  
        alert("base64 encode:" + str);  
     //解密
        str = b.decode(str);  
        alert("base64 decode:" + str);  
</script>  
</head>

<body>
</body>
</html>
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

**星光*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值