网页抓取 加密html(解密算法--使用js函数escape()和unescape)
优采云 发布时间: 2021-12-24 02:13网页抓取 加密html(解密算法--使用js函数escape()和unescape)
1.前端web加密算法——使用js函数escape()和unescape();操作对象字符串;
document.write(escape("访问 W3School!"))var
代码=unescape("%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B");
评估(代码)
escape() 方法不编码 ASCII 字母和数字,也不编码以下 ASCII 标点符号:* @-_ +。/
. 所有其他字符将被转义序列替换。因为这个方法的本质是替换非ASCLL代码字符
unescape(),将ASCLL代码解码并转换为字符串;
2.前端web加密算法-MD5加密
MD5加密很简单,在js中导入MD5.js。然后在js脚本中写入
var b =$("#logPassword");$.md5(b.val());
但是MD5没有解密算法,或者解密算法很复杂。所以我们存储在数据库中的密码可能是一串经过两次加密的MD5
3.Base64加解密
base64既可以加密也可以解密,在js脚本中导入base64.js
var b =$("#logPassword");var code = $.encode64(b.val());$.unencode64(code);
================================================== ==============
加密分为单向和双向。单向是不可逆的。此处加密未在此处解密。双向加密是可逆的。这里加密,那里解密,与数据库中的密码进行比较。
由于加密算法需要发送到浏览器执行,所以对于http客户端来说双向加密是不可行的。最好的方法是单向加密。最常用的单向加密是 MD5 散列。
================================================== ============================
密码存储方式:
密码应该如何存储?有几个按安全降序排列的选项:
1.密码名称和文本直接存储在系统中
2.密码是对称加密后存储的
3.密码是非对称加密后存储的
================================================== ==================================
MD5加服务器随机数加密
MD5通过,服务器端将数据库中的密码与MD5进行比较,相当于用POST比较过去的字符串。然后我截取到MD5字符串后,按原样POST到服务器,但是验证不通过?我说,我们可以加一点盐,就是在做MD5计算之前,在原创密码上加一个字符串。重点是这个salt是在每次提交前和服务器实时申请的,短时间内会自动过期(因为申请和验证的时间间隔只是连续两次http请求的时间,这个过期时间可以很短),这个salt只用一次,经过验证,不管成功与否,都会在服务器端强行报废。在这种情况下,
================================================== ====================================
总结:最简单的加密就是直接在明文中加一个字符串,然后在服务器端去掉字符串解密;
最靠谱的加密是前端jsmd5+salt加密(非对称加密)
完成
1.没有名字的表单将不会提交,以免用户输入的密码中的密码变成32位的“*”,显示给客户
functioncheckInput() {var password_input = document.getElementById('password');
varpassword_md5 = document.getElementById('password_md5'); // 设置密码
password_md5.value = md5(password_input.value); 返回真;}
2.异步使用ajax验证表单
* //点击登录
* $('#btna').click(function(){
* if(!$('#loginName').validatebox('isValid')){
* $('#loginName').focus();
* }elseif(!$('#password').validatebox('isValid')){
* $('#password').focus();
* }别的{
* //md5加密传输
* varsalt="{*nbsjt*asar#cdxd#}";
* varpwd=$('#password').val();
* varmd5Pwd=$.md5(pwd+salt);
* $.ajax({
* url:'login.manager',
* 类型:'post',
* 数据:{
* 登录名:$('#loginName').val(),
* 密码:md5Pwd,
* },
* beforeSend:function(){
* $.messager.progress({
* text:'正在登录...',
* });
* },
*成功:功能(数据,响应,状态){
* $.messager.progress('close');
*
* 如果(数据==“成功”){
* location.href='main.manager';//进入后台首页
* }别的{
* $.messager.alert('登录失败!','用户名或密码错误!','警告'
,功能(){
* $('#password').select();
* });
*}
*}
* });
*}
* });