愷撒加密簡記

2021-10-24 10:28:48 字數 1653 閱讀 8480

愷撒密碼(英語:caesar cipher),或稱愷撒加密、愷撒變換、變換加密,是一種最簡單且最廣為人知的加密技術。它是一種替換加密的技術,明文中的所有字母都在字母表上向後(或向前)按照乙個固定數目進行偏移後被替換成密文。例如,當偏移量是2的時候,所有的字母a將被替換成c,b變成d,以此類推。

因此,假如有個明文本串「hello」用這種方法加密的話,將變為密文: 「jgnnq」 。而如果要解密,則只要將字母向相反方向移動同樣位數即可。如密文「jgnnq」每個字母左移兩位 變為「hello」 。這裡,移動的位數「2」是加密和解密所用的金鑰。

使用公式定義,就是當秘鑰為n,其中乙個待加密字元ch,加密之後的字元為ch+n,當ch+n超過』z』時,回到』a』計數。

凱撒密碼的加密、解密方法還能夠通過同餘的數學方法進行計算。首先將字母用數字代替,a=0,b=1,…,z=25。此時偏移量為n的加密方法即為:

e n(

x)=(

x+n)

mod26

e_n(x)=(x+n)\qquad mod \ 26

en​(x)

=(x+

n)mo

d26解密就是:

d n(

x)=(

x−n)

mod26

d_n(x)=(x-n) \qquad mod \ 26

dn​(x)

=(x−

n)mo

d26根據偏移量的不同,還存在若干特定的愷撒密碼名稱:

這裡是使用凱撒密碼,對unity中的資源進行加密解密,所以使用了unity的資源載入類unitywebrequestwww,以及協程,但這並不影響對加密解密的理解。

/// 

/// 愷撒加密

///

///

private

ienumerator

encryptionab()

file.

writeallbytes

("d:\\fcj\\unity2018\\vuforiastudy\\buildassetbundle\\window\\myab_encryption.assetbundle"

, bytes);}

///

/// 愷撒解密

///

///

private

ienumerator

decryptab()

assetbundle ab = assetbundle.

loadfrommemory

(bytes)

;gameobject go = ab.

loadasset

("sphere"

)as gameobject;

//注意這裡是預製體名字

instantiate

(go, vector3.zero, quaternion.identity)

; ab.

unload

(false);

}

C 愷撒加密

題目內容 愷撒加密法加密規則是 將原來的小寫字母用字母表中其後面的第3個字母的大寫形式來替換,大寫字母按同樣規則用小寫字母替換,對於字母表中最後的三個字母,可將字母表看成是首未銜接的。如字母c就用f來替換,字母y用b來替換,而字母z用c代替。程式設計實現以下功能 輸入乙個字串,將其加密後輸出。程式執...

愷撒加密 MOOC C

題目內容 愷撒加密法加密規則是 將原來的小寫字母用字母表中其後面的第3個字母的大寫形式來替換,大寫字母按同樣規則用小寫字母替換,對於字母表中最後的三個字母,可將字母表看成是首未銜接的。如字母c就用f來替換,字母y用b來替換,而字母z用c代替。程式設計實現以下功能 輸入乙個字串,將其加密後輸出。程式執...

加密解密 愷撒加密 Javascript實現

愷撒加密 caesar cipher 是一種最簡單且最廣為人知的替換加密技術。明文中的所有字母都在字母表上向後 或向前 按照乙個固定數目進行偏移後被替換成密文。例如,當偏移量是3的時候,所有的字母a將被替換成d,b變成e,以此類推。當年愷撒曾用此方法與其將軍們進行聯絡。當偏移量是左移3的時候 解密時...