gpt4 book ai didi

javascript - C 函数到 JavaScript

转载 作者:行者123 更新时间:2023-11-30 19:29:50 25 4
gpt4 key购买 nike

我正在尝试将 2 个函数从 C 转换为 Javascript,但失败了。

我尝试转换的 C 函数是:

void encrypt(char password[],int key)
{
unsigned int i;
for(i=0;i<strlen(password);++i)
{
password[i] = password[i] - key;
}
}

void decrypt(char password[],int key)
{
unsigned int i;
for(i=0;i<strlen(password);++i)
{
password[i] = password[i] + key;
}
}

C 函数来自:http://c-program-example.com/2012/04/c-program-to-encrypt-and-decrypt-a-password.html

我在 Javascript 中所做的是这样的:

var password = "hello"

var key = 322424;

for (var i=0; i<password.length; i++) {

var char = password[i].charCodeAt();


var s = String.fromCharCode(char-key);


alert(s);

}

在将它们作为函数之前,我会发出警报以查看它是否正常工作。有人可以告诉我如何在 Js 中正确完成它吗?

最佳答案

尝试一下,正如 Clifford 在评论中所说,每个字符代码都必须屏蔽为 modulo-256,因为 char 的大小。另外,从decrypt开始相同但减去 key ,我重复使用了encrypt但带有负面key .

这里有一个工作片段,请告诉我它是否提供了所需的输出。

function encrypt (password, key) {
var i,
output = '';

for (i = 0; i < password.length; i++) {
var charCode = password.charCodeAt(i),
keyedCharCode = (charCode - key) & 0xff;

output += String.fromCharCode(keyedCharCode);
}

return output;
}

function decrypt (password, key) {
return encrypt(password, -key);
}

var password = 'hello',
key = 322424,
encrypted = encrypt(password, key),
decrypted = decrypt(encrypted, key);

console.log('encrypt', encrypted);
console.log('decrypt', decrypted);

关于javascript - C 函数到 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52296319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com