ROT13加密和解密

2022-09-11 04:03:13 字數 1678 閱讀 3870

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...