Message codés d'espion

HTML

<script src="http://d3js.org/d3.v3.min.js"></script>
Message<br />
<input id="enter" size="60" /><br />
Key<br />
<input id="key" size="10" /><br />
<button id="encode">Encode</button>
<button id="decode">Decode</button>

CSS

*{
    font-family: Monospace;
}
input, button{
    border: 1px solid silver;
    background-color: white;
    margin-bottom: 20px;
}

JavaScript

var secretKey = 1;
var message = "Ennio je t'aime";
var encoded = encode(message, true, secretKey);
var decoded = encode(encoded, false, secretKey);
console.log('Message: ' + message);
console.log('Encoded: ' + encoded);
console.log('Decoded: ' + decoded);

function encode(_message, _bool, _secretKey){
    var mult = _bool? 1 : -1;
    var result = _message.split('')
        .map(function(d, i){ 
            return String.fromCharCode(((d).charCodeAt(0) + (_secretKey * mult))); 
        }).join('');
    return result;
}

d3.select('#encode').on('click', function(d, i){
    var secretKey = d3.select('#key').node().value; 
    var inputBox = d3.select('#enter').node();
    var inputMessage = inputBox.value; 
    var encodedMessage = encode(inputMessage, true, secretKey);
    inputBox.value = encodedMessage;
});

d3.select('#decode').on('click', function(d, i){ 
    var secretKey = d3.select('#key').node().value; 
    var inputBox = d3.select('#enter').node();
    var inputMessage = inputBox.value; 
    var encodedMessage = encode(inputMessage, false, secretKey);
    inputBox.value = encodedMessage;
});