vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
25 lines (24 loc) • 635 B
JavaScript
var input = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
var output = 'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm'.split('');
var lookup = input.reduce(function (m, k, i) {
m[k] = output[i];
return m;
}, Object.create(null));
/**
* 回转 13 位替换式密码。
*
* @param str 原文
* @see https://zh.wikipedia.org/wiki/ROT13
* @example
* ```typescript
* rot13('hello world') // => 'uryyb jbeyq'
* ```
*/
export function rot13(str) {
var res = '';
for (var i = 0, len = str.length; i < len; i++) {
var _char = str.charAt(i);
res += lookup[_char] || _char;
}
return res;
}