rot13(迴轉13位)是一種簡易的替換式密碼演算法。它是一種在英文網路論壇用作隱藏八卦、妙句、謎題解答以及某些髒話的工具,目的是逃過版主或管理員的匆匆一瞥。rot13 也是過去在古羅馬開發的凱撒密碼的一種變體。rot13是它自身的逆反,即:要還原成原文只要使用同一演算法即可得,故同樣的操作可用於加密與解密。該演算法並沒有提供真正密碼學上的保全,故它不應該被用於需要保全的用途上。它常常被當作弱加密示例的典型。
應用rot13到一段文字上僅僅只需要檢查字母順序並取代它在13位之後的對應字母,有需要超過時則重新繞回26英文本母開頭即可。a換成n、b換成o、依此類推到m換成z,然後序列反**n換成a、o換成b、最後z換成m(如圖所示)。只有這些出現在英文本母裡的字元受影響;數字、符號、空白字元以及所有其他字元都不變。替換後的字母大小寫保持不變。
例如,下面的英文笑話,精華句被rot13所隱匿:
how can you tell an extrovert from an
introvert at nsa? va gur ryringbef,
gur rkgebireg ybbxf ng gur bgure thl』f fubrf.
通過rot13轉換,該笑話的解答揭露如下:
ubj pna lbh gryy na rkgebireg sebz na
vagebireg ng afn? in the elevators,
the extrovert looks at the other guy』s shoes.
第二次使用rot13將恢復為原文。
input
第1行:乙個整數t(1≤t≤10)為問題數。
接下來共t行。每行為長度不超過1000個字元的一段文字。內含大小寫字母、空格、數字和各種符號等。
output
對於每個問題,輸出一行問題的編號(0開始編號,格式:case #0: 等)。
然後對應每個問題在一行中輸出經過rot13加密後的一段文字。
sample input
how can you tell an extrovert from an
introvert at nsa? va gur ryringbef,
gur rkgebireg ybbxf ng gur bgure thl』f fubrf.
sample output
case #0:
ubj pna lbh gryy na rkgebireg sebz na
case #1:
vagebireg ng afn? in the elevators,
case #2:
the extrovert looks at the other guy』s shoes.
#include
#include
char str[1010];
char tmp[1010];
int encry(char x)
}else
if (b >= 65 && b <= 90)
}else
return a;
}int main()
printf("case #%d:\n",cas++);
for(int i = 0;i < len;i ++)
else
}strcpy(str,"");
}return
0;}
rot13加密和解密
rot13 迴轉13位 是一種簡易的替換式密碼演算法。它是一種在英文網路論壇用作隱藏八卦 妙句 謎題解答以及某些髒話的工具,目的是逃過版主或管理員的匆匆一瞥。rot13 也是過去在古羅馬開發的凱撒密碼的一種變體。rot13是它自身的逆反,即 要還原成原文只要使用同一演算法即可得,故同樣的操作可用於加...
rot13加密原理
rot 13 其實這就是最簡單的一種凱撒密碼 caesar cipher 位移13位其實就是一半的26個字母,所以rot13最大的特點就是加密兩次得到原文 不過只有密碼中的英文本母受影響 數字 符號 空白以及所有其他字元都不變,很容易看出原本的明文。所以這種加密也不會作為真正的加密,其意圖就是讓別人...
加密和解密
public class desc public static string decode string data catch descryptoserviceprovider cryptoprovider new descryptoserviceprovider memorystream ms n...