凱撒密碼
(讓上帝的歸上帝,凱撒的歸凱撒)
下面我們來介紹風靡全球的凱撒密碼Caesar cipher铅协,又叫移位密碼。
移位密碼也就是密碼中的字母會按照指定的數(shù)量來做移位狐史。
一個常見的案例就是ROT13密碼痒给,字母會移位13個位置。由'A' ? 'N', 'B' ? 'O'骏全,以此類推苍柏。
寫一個ROT13函數(shù),實現(xiàn)輸入加密字符串姜贡,輸出解密字符串试吁。
所有的字母都是大寫,不要轉(zhuǎn)化任何非字母形式的字符(例如:空格楼咳,標點符號)熄捍,遇到這些特殊字符,跳過它們母怜。
當你完成不了挑戰(zhàn)的時候余耽,記得開大招'Read-Search-Ask'。
這是一些對你有幫助的資源:
示例:
function rot13(str) { // LBH QVQ VG!
// 請把你的代碼寫在這里
var temp_array = [];//新建一個數(shù)據(jù)
for (var i = 0;i<str.length;i++){
if (str.charCodeAt(i)<65 || str.charCodeAt(i)> 90){
temp_array.push(str.charAt(i));//其它字符原樣返回
} else if (str.charCodeAt(i)>77){
temp_array.push(String.fromCharCode(str.charCodeAt(i)-13));
}else{
temp_array.push(String.fromCharCode(str.charCodeAt(i)+13));
}
}
return temp_array.join("");//數(shù)組拼接成字符串
}
rot13("SERR PBQR PNZC"); // 你可以修改這一行來測試你的代碼