当前位置:首页 > JavaScript

js记住密码怎么实现

2026-04-03 18:56:10JavaScript

使用 localStorage 存储密码

通过 localStorage 将用户名和密码保存在浏览器中,即使关闭页面后数据仍会保留。这种方式简单易用,但需要注意安全性问题。

// 保存密码
localStorage.setItem('username', 'user123');
localStorage.setItem('password', 'pass123');

// 读取密码
const username = localStorage.getItem('username');
const password = localStorage.getItem('password');

使用 sessionStorage 临时存储

sessionStorage 仅在当前会话期间有效,关闭标签页或浏览器后数据会被清除。适合临时记住密码的场景。

// 保存密码
sessionStorage.setItem('username', 'user123');
sessionStorage.setItem('password', 'pass123');

// 读取密码
const username = sessionStorage.getItem('username');
const password = sessionStorage.getItem('password');

使用 Cookies 存储

Cookies 可以设置过期时间,适合需要长期记住登录状态的场景。通过 document.cookie 操作。

// 设置Cookie
document.cookie = "username=user123; expires=Fri, 31 Dec 2023 23:59:59 GMT; path=/";
document.cookie = "password=pass123; expires=Fri, 31 Dec 2023 23:59:59 GMT; path=/";

// 读取Cookie
function getCookie(name) {
  const value = `; ${document.cookie}`;
  const parts = value.split(`; ${name}=`);
  if (parts.length === 2) return parts.pop().split(';').shift();
}
const username = getCookie('username');
const password = getCookie('password');

结合表单自动填充

通过 JavaScript 监听表单加载事件,自动填充保存的凭证。通常与上述存储方式结合使用。

document.addEventListener('DOMContentLoaded', () => {
  const username = localStorage.getItem('username');
  const password = localStorage.getItem('password');
  document.getElementById('username').value = username || '';
  document.getElementById('password').value = password || '';
});

安全注意事项

存储明文密码存在安全隐患,建议采取以下措施:

  • 使用 HTTPS 协议传输数据
  • 对密码进行加密后再存储
  • 提供显式的"记住密码"选项让用户选择
  • 敏感信息考虑使用服务端存储方案
// 简单加密示例(实际应使用更安全的加密方式)
function simpleEncrypt(text) {
  return btoa(text);
}
function simpleDecrypt(text) {
  return atob(text);
}

localStorage.setItem('password', simpleEncrypt('pass123'));
const password = simpleDecrypt(localStorage.getItem('password'));

服务端配合方案

更安全的做法是将凭证存储在服务端,通过token等方式实现记住登录状态:

js记住密码怎么实现

  1. 用户登录成功后,服务端生成长期有效的token
  2. 将token存储在客户端Cookie或localStorage中
  3. 后续请求携带token进行身份验证
  4. 服务端验证token有效性并返回对应数据

这种方法避免了在客户端存储原始密码,安全性更高。

标签: 密码js
分享给朋友:

相关文章

js 实现vue

js 实现vue

实现 Vue 的核心功能 在 JavaScript 中实现 Vue 的核心功能需要模拟数据绑定、虚拟 DOM 和响应式系统。以下是一个简化版的实现思路: 响应式系统 通过 Object.define…

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

elementui密码

elementui密码

Element UI 密码输入框 Element UI 提供了 el-input 组件用于密码输入,通过设置 type="password" 属性即可实现密码输入框功能。密码输入框默认会隐藏输入内容,…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…