设计一个简单的[JS]文本摘要算法

为了解决在网站cookie中存储长用户信息的问题,作者设计了一个简单的文本摘要算法。算法通过对原始文本进行加盐处理、Unicode字符码点位置的凯撒偏移、二进制分块及十六进制转换,生成摘要。然而,由于最后一步的补0操作,算法无法完全逆向还原原始文本,但仍能满足原文的使用需求。
摘要由CSDN通过智能技术生成

网站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") {
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值