key64()时,Base64.js将日期/时间或字符串添加到已解码的文本中

时间:2015-10-08 23:45:54

标签: javascript jquery

//html

       <label for="encode" class="encode"></label>
       <label for="decode" class="decode"></label>
       <textarea id="encode"></textarea>
       <textarea id="decode"></textarea>

// default base64.js code  

    var dec = $('#decode'),
        enc = $('#encode');
    $.base64.utf8encode = true;
    enc.keyup(function () {
        dec.val($.base64.btoa(this.value));
    });
    dec.keyup(function () {
        enc.val($.base64.atob(this.value, true));
    });
    $('textarea').on('focus blur', function () {
        $(this).prev('label').stop().fadeToggle(200);
    });

当用户为了验证目的键入其名称时,用户会看到加密文本,我希望在用户输入时添加日期/时间或字符串以包含在加密文本中,并且没有用户知识,所以基本上输出将是:

//Decrypted Text:
Name, Date/Time, Mycompanyname etc ...

1 个答案:

答案 0 :(得分:0)

在Base64编码字符串之前附加要添加的数据。用户没有在他们的框中看到它,如果您解码编码输出,那么它将附加附加信息。

http://jsfiddle.net/uwxw632f/5/

function addMetadata(str) {
    return str + ', ' + new Date() + ', Mycompanyname, etc...';
}

var dec = $('#decode'),
    enc = $('#encode');
$.base64.utf8encode = true;
enc.keyup(function () {
    dec.val($.base64.btoa(addMetadata(this.value)));
});
dec.keyup(function () {
    enc.val($.base64.atob(this.value, true));
});
$('textarea').on('focus blur', function () {
    $(this).prev('label').stop().fadeToggle(200);
});

请注意,加密编码不同,并且用户反转base64 编码是微不足道的。