引
网站cookie中有一段用户信息(包括微信用户信息,用户关联信息)的文本,使用entrance
键存储,选择不同的条件后文本内容也不同,cookie上的值也会变化。本来的打算是通过将entrance
值存储在sessionstorage,然后通过比较当前请求中cookie的值与sessionstorage的值是否一致来得出用户是否选择了其他条件从而进行其他操作。
但是不想将entrance
键的值直接存储到sessionstorage中,一来该值内容较长,基本上超过1000个字符,二来只是为了进行比较操作就存储原始的用户信息做法不是很友好。
所以想要一个简单的文本摘要算法,以达到上述诉求。在网络上搜索了一番,并没有一个零依赖,简单的文本摘要算法。只好自己理了下思路写出了一个简单的文本摘要算法。分享出来,以飨读者。
正
/**
* 简单的文本摘要算法。
* ! 不要用于敏感业务
* @param {String} text 待摘要的文本,必需
* @param {String} salt 加盐内容
* @param {Number} caesar 凯撒字符偏移长度
* @param {Object} opts 其他配置项
* @property {Number} opts.blockLength 分块长度
*/
export default function textSummary(
text = "",
salt = "[简单]文本摘要算法",
caesar = 5,
opts = {
}
) {
if (typeof text !== "string") {