当前位置: 首页 > article >正文

第十三、十四个知识点:用javascript获取表单的内容并加密

我们先来写一段代码:

<body>
  <form action="#" method="post">//写一个表单
    <span>用户名:</span><input type="text"   id="username" name="username">
    <span>密码:</span><input type="password"   id="password" name="password">
    <button type="submit" onclick="A()">提交</button>             //onclick---点击调用函数提交
  </form>
<script>
    function A(){//用js获取用户名,密码,说明不加密之前账号容易泄露
        //获取用户名节点
      var user = document.getElementById('username');
        //获取密码节点
      var pass = document.getElementById('password');
      console.log(user.value);//在控制台输出用户名的值,方便观察
      console.log(pass.value);//在控制台输出密码的值,方便观察
      pass.value = 'abc';
      return true;
    }
</script>
</body>

然后我们来说说,在提交了表单以后,我们可以在浏览器-->网络-->负载 里面去看自己传入的username、password(各个浏览器观察的位置不一样)

由此我们可以知道这样写代码是不具备安全性的 

所以接下来我们用md5加密秘密

这里我们需要引入一个别人写好的js文件,用这个文件来给密码加密:

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.min.js"></script>//别人的md5.js
</head>
<body>
  <form action="#" method="post">
    <span>用户名:</span><input type="text"   id="username" name="username">
    <span>密码:</span><input type="password"   id="password" name="password">
    <button type="submit" onclick="A()">提交</button>
  </form>
<script>
    function A(){
      var count = document.getElementById('username');
      var pwd = document.getElementById('password');
      pwd.value = md5(pwd.value);//调用md5方法执行加密
      console.log(pwd.value);
    }
</script>
</body>

 

然而这样加密别人依旧可以通过一些操作获取你的密码,于是乎现在我们再介绍一种更有效保密的方法:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    //使用别人的md5.js
    <script src="https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.min.js"></script>
</head>
<body>
       //将onclick变为onsubmit,将绑定按钮变为绑定表单
  <form action="#" method="post" onsubmit="return A()">
    <span>用户名:</span><input type="text"   id="username" name="username">
    <span>密码:</span><input type="password"   id="password">
    <input type="hidden" name="password" id="md5pwd">
    <button type="submit">提交</button>
  </form>
<script>
    function A(){
      var count = document.getElementById('username');
      var pwd = document.getElementById('password');
      var md5pwd = document.getElementById('md5pwd');
        //相当于把pwd视为密码地中转站,md5pwd才是重点,这样更加安全
      md5pwd.value = md5(pwd.value);
      return true;//用于判断,在后续判断密码是否正确有用
    }
</script>
</body>
</html>

http://www.kler.cn/a/231469.html

相关文章:

  • DeepSeek-R1 模型及GRPO算法学习
  • Qt中json的使用
  • qt内部的特殊技巧【QT】
  • Linux——网络(tcp)
  • Python NumPy(7):连接数组、分割数组、数组元素的添加与删除
  • 计算机网络 (60)蜂窝移动通信网
  • Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器
  • 代码随想录算法训练营第五十八天 | 739. 每日温度、496. 下一个更大元素 I
  • 14 归并排序和其他排序
  • ASP.NET Core MVC 控制查询数据表后在视图显示
  • 【Linux开发工具】yum命令详解
  • STM32/C51开发环境搭建(KeilV5安装)
  • SQL注入微境界
  • Docker Compose实例
  • javaEE - 20( 18000字 Tomcat 和 HTTP 协议入门 -1)
  • Python||数据分析与可视化_使用折线图分析各个城市的P.M.2.5月度差异情况(下)及使用堆叠柱状图对各个城市的PM2.5日均值情况进行数据分析与可视化
  • CTFshow web(命令执行29-36)
  • 【51单片机】实现一个动静态数码管显示项目(超全详解&代码&图示)(5)
  • 如何使用C#调用LabVIEW算法
  • 怎么给《Cyberpunk 2077》制作功能性MOD
  • 装箱问题(洛谷)
  • 用爬虫自建行业知识库
  • 三、设计模式相关理论总结
  • Leetcode刷题笔记题解(C++):64. 最小路径和
  • TI毫米波雷达开发——High Accuracy Demo 串口数据接收及TLV协议解析 matlab 源码
  • JAVA的学习Day1