这是加密和解密字符串数据的好方法吗?



我在下面做了这个简单的例子,并试图加密/解密字符串。

但我不禁怀疑这是不是正确的做法。

看看下面,看看,如果它将发展问题不同的字符/字符串。

const getKey = (key) => {
let keyNum = 0;
for (let char of key) {
let cCode = char.charCodeAt(0) + key.length;
keyNum += cCode;
}
return keyNum;
};
const Encrypt = (str, key) => {
let text = '';

let keyNum = getKey(key);
for (let char of str) {
let cCode = char.charCodeAt(0) + keyNum;
// what happend if cCode dose not generate a valid string
text += String.fromCharCode(cCode);
}
return text;
};
const Decrypt = (str, key) => {
let text = '';
let keyNum = getKey(key);
for (let char of str) {
let cCode = char.charCodeAt(0) - keyNum;
text += String.fromCharCode(cCode);
}
return text;
};
const testText = "hahhaha this is a test - هههههه هذا اختبار";
const testKey = "test Key";
const eText = Encrypt(testText, testKey);
console.log("Encrypt:", eText)
console.log("Decrypt:", Decrypt(eText,testKey))

请看看上面Encrypt()的评论,让我知道这是否真的会发生

我为什么要这样做

我想使用一个简单的加密与js(react-native)和c#一起工作。我找不到。这就是为什么我试图建立一个简单的插件。c#会加密js文件并将其上传到某个地方js会下载这些js文件解密它们并使用Function我将能够使用它们

首先这很糟糕。如果您想要一个简单的测试来检查您的加密(基本测试),只需输入与文本相同的字符,并查看您的输出的重复,这样我就可以发现您的密钥。

如果你希望使用好的加密,那么使用专业人员制作的库。

如果你真的想自己建立加密,那么坐在书中学习这个主题,这是一个非常有趣但也很难掌握的主题,这里没有镜头剪辑。

入门好书- 'Cryptography in C and c++ '

最新更新