当前位置:首页 > 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 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与响应式…

php记住密码怎么实现

php记住密码怎么实现

使用Cookie实现记住密码功能 在PHP中,可以通过设置Cookie来记住用户的登录状态。以下是一个简单的实现方式: // 用户登录验证成功后 if ($login_success) {…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…