简单的JavaScript加密和解密,无需使用密钥

问题描述 投票:0回答:2

我想知道是否可以使用纯 JavaScript 来加密和解密文本。 我不想使用钥匙。这可能是一个入门级解决方案。但我只是想将文本“my-name-1”编码为某种文本格式,并希望从中检索文本。这可能吗,不使用任何js库

javascript encryption
2个回答
58
投票

如果没有密钥(或与此相关的一些秘密),您将无法获得任何类型的加密。

你的意思是类似不同的编码。所以也许 Base64 适合你。

var baseString = 'my-name-1';

var encodedString = window.btoa( baseString ); // returns "bXktbmFtZS0x"

var decodedString = window.atob( encodedString );  // returns "my-name-1"

所有主要浏览器都支持。仅在 IE10+ 中支持 IE。

参考资料:


1
投票

就我而言(存储游戏分数),我需要在 Base64 加密之上添加一些混淆:

const z = ['a', 'o', 'b', 't']
const y = z[0] + z[3] + z[1] + z[2]
const x = z[2] + z[3] + z[1] + z[0]
function encrypt(str) {
  return window[x]?.(str).split('').reverse().join('')
}

function decrypt(str) {
  return window[y]?.(str.split('').reverse().join(''))
}

这对于我的情况来说没问题,因为:

  • 我不需要真正的加密
  • 代码中无法搜索到单词
    btoa
  • 输出的字符串不是明显的base64,解码会失败
  • 使用户更难(但并非不可能)作弊

免责声明这不是加密,不得用于安全目的,这是混淆

© www.soinside.com 2019 - 2024. All rights reserved.