avatar

麦兜的小站

MDO.INK

  • 首页
  • 随笔
  • 知识库
  • 归档
  • 动态
  • 标签
  • 关于
Home 一行js代码实现字符串加密解密
文章

一行js代码实现字符串加密解密

Posted 2025-06-17 Updated 2025-06- 17
By power 已删除用户
4~6 min read

一行js代码实现字符串加密解密

ASCII 码字符

字符串加密:

var encodedString = btoa(stringToEncode);

字符串解密:

var decodedString = atob(encodedString);

注意:使用 btoa 和 atob 进行加解密时,只能处理 ASCII 码字符,对于 Unicode 字符可能会出现不可预料的结果。

完整示例代码:

var stringToEncode = "abc"; 
var encodedString = btoa(stringToEncode); 
console.log(encodedString); 
var decodedString = atob(encodedString); 
console.log(decodedString);

Unicode 字符

字符串加密:

 var encryptedString = Array.from('my string').map(char => String.fromCharCode(char.charCodeAt(0) + 3)).join('');

字符串解密:

 var decryptedString = Array.from('pb#vwulqj').map(char => String.fromCharCode(char.charCodeAt(0) - 3)).join('');

其中,加密使用了 charCodeAt() 获取每个字符的 Unicode 编码,然后使用 fromCharCode() 将编码转换为字符。加密时将每个字符的 Unicode 编码增加了3,解密时将每个字符的 Unicode 编码减去3。最终,使用 join() 方法将字符串中的字符合并成一个字符串。

完整示例代码:

 var encryptedString = Array.from('JShaman是专业的JavaScript混淆加密产品').map(char => String.fromCharCode(char.charCodeAt(0) + 3)).join(''); 
console.log(encryptedString );
var decryptedString = Array.from('MVkdpdq昲世丝皇MdydVfulsw淺淉劣寉亪哄').map(char => String.fromCharCode(char.charCodeAt(0) - 3)).join(''); 
console.log(decryptedString);

另有两种

var str = "JShaman是专业的JavaScript混淆加密网站";
var demo = (encodeURIComponent(str));console.log(demo); 
var demo = 'JShaman%E6%98%AF%E4%B8%93%E4%B8%9A%E7%9A%84JavaScript%E6%B7%B7%E6%B7%86%E5%8A%A0%E5%AF%86%E7%BD%91%E7%AB%99='
var str1 = decodeURIComponent((demo))console.log(str1);

或:

 var str = "JShaman是专业的JavaScript混淆加密网站";
var demo = btoa(encodeURIComponent(str));console.log(demo); 
var demo = 'SlNoYW1hbiVFNiU5OCVBRiVFNCVCOCU5MyVFNCVCOCU5QSVFNyU5QSU4NEphdmFTY3JpcHQlRTYlQjclQjclRTYlQjclODYlRTUlOEElQTAlRTUlQUYlODYlRTclQkQlOTElRTclQUIlOTk'
var str1 = decodeURIComponent(atob(demo));
console.log(str1)

js字符串加密解密就是这样简单。

前端
License:  CC BY 4.0
Share

Further Reading

Jun 25, 2025

Vue实现顶部导航跟随页面联动效果

需求背景 最近也是应我一位同学的要求,给他的公司制作一个官网,那也就是拾起了一些基础的知识,搜索了一些其它的文章有实现这种效果的,但大多导航都是在侧边,然后点击导航对应的部分内容滑到最上面,跟我这次设...

Jun 20, 2025

Share.js - 一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook、Twitter、Linkedin、Google+、点点

一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook、Twitter、Linkedin、Google+、点点等社交网站,使用字体图标。 有两种安装方式: 使用npm npmi...

Jun 19, 2025

node express实现热更新

在使用node进行开发的时候,每次修改文件,都需要重启express服务很麻烦 我们可以使用nodemon这个库,修改文件后可以自动重启express服务。 安装: npminstall--save-...

OLDER

open_basedir restriction in effect. 原因与解决方法

NEWER

VU Player Pro安卓版应用APK下载

Recently Updated

  • 如何实现接口幂等性
  • 10个npm工具包
  • How to set up PHP7.4 on MacOS.
  • Automa:一键自动化,网页数据采集与工作流程优化专家Automa:解锁自动化
  • Mac 下用 brew 搭建 LNMP

Trending Tags

thinkphp clippings

Contents

©2025 麦兜的小站. Some rights reserved.

Using the Halo theme Chirpy