JavaScript加密工具

JavaScript Encryption Tool

本文关键字:工具 加密 JavaScript      更新时间:2023-09-26

我正在为自己制作一个加密工具,作为JavaScript的代码,插入控制台(解释器)并运行,执行以下操作(代码不是100%JavaScript,它是一个虚构的代码,指的是我在真实JavaScript中想要的内容):

var encrypt_f = function(z) {
    switch(z) {
        case "H":
            return "0XB";
            break;
        case "e":
            return "EWD";
            break;
        case "l":
            return "FXB";
            break;
        case "o":
            return "@RS";
            break;
        default:
            return "UNK";
            break;
    } // I will write the rest of words, I got my encryption table
}
var encrypt = function(x) {
    // Turn x into an array
    // Then make a for loop, to check for every element in the array
    // and scan the letter, then, Encrypt the letter, I've provided
    // "Hello" as a word to Encrypt, I'll do the rest
    // as of:
    // var enc = "";
    // for(.. i ..) { y = x[i]; enc += encrypt_f(y) + " ";
}
encrypt("Hello");

encrypt("Hello");应返回0XB EWD FXB FXB @RS为:

0XB正在H

EWD正在e

FXB 正在l - 被写了两次,因为 Hello 中有 2 个 l

@RS正在o

注意:只有JAVASCRIPT,我希望将代码插入浏览器控制台以返回字符串,而不是将数据发送到数据库或类似的东西,代码不是写入脚本标签,而是插入到浏览器中,另外,如果可以的话,请使代码纯JavaScript,没有任何外部库(jQuery)

只需遍历字符串(此处是字符串的拆分,然后是数组,以及 map 和编码广告回传。然后用空格连接结果数组)。

var encrypt_f = function (z) {
        return { H: '0XB', e: 'EWD', l: 'FXB', o: '@RS' }[z] || 'UNK';
    },
    encrypt = function (x) {
        return x.split('').map(encrypt_f).join(' ');
    };
document.write(encrypt("Hello!"));

要将一个字符串映射到另一个字符串,你可以滥用 replace()

var mapping = {
    "H": "0XB",
    "e": "EWD",
    "l": "FXB",
    "o": "@RS",
    default: "UNK"
};

function encrypt(mapping, string){
    return string.replace(/['s'S]/g, function(chr){
        //binding and accessing this is faster than a closure
        return this[chr] || this.default;
    }.bind(mapping));
}
encrypt(mapping, "Hello")

这应该有效。杰斯宾: https://jsbin.com/yiborehuju/edit?js,output

var encrypt = function(x) {
    var enc = "";
    x = x.split('');
    x.forEach(function(l) {
        e = encrypt_f(l);
        enc += e;
    });
    return enc;
}