JavaScript cookie 设置与获取

一、保存cookie

// 保存cookie
function setCookie (cName, value, expiredays) {
	let exdate = new Date()
	exdate.setDate(exdate.getDate() + expiredays)
	document.cookie = `${cName}=${decodeURIComponent(value)}${expiredays ? ';expires=' + exdate.toGMTString() : ''}`;
}

二、获取cookie

// 获取cookie
function getCookie (key) {
	if (document.cookie.length > 0) {
		let start = document.cookie.indexOf(key + '=')
		if (start !== -1) {
			start = start + key.length + 1
			let end = document.cookie.indexOf(';', start)
			if (end === -1) end = document.cookie.length
			return unescape(document.cookie.substring(start, end))
		}
	}
	return ''
}

三、使用

//设置
setCookie('username', 'admin');
setCookie('password', '123456');
//获取
getCookie('username');
getCookie('password');
//清除
setCookie('username', '');
setCookie('password', '');

四、补充:密码加密

密码直接存入cookie,有一定的隐患,虽然cookie一直被诟病。但还是加一层包含,较为妥当。这里使用 Base64。

1、vue项目中安装

npm i js-base64 -S

2、结合cookie使用

//加载编码
let Base64 = require('js-base64').Base64;
//加密报错
setCookie('password', Base64.encode('123456'));
//解密获取
let password = Base64.decode(getCookie("password"));

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值