簡單的加密解密演算法

2021-06-06 17:21:39 字數 1204 閱讀 3219

密碼演算法大致:

str=」abcdefghijklmn…」    '共94個可列印字元

key = 2^0,2^1,2^2… 2^5     到2^5

加密過程:明文,反轉,加密,密文

每個明文對應2個密文

解密過程:密文,解密,反轉,原文

每2個密文對應1個原文

偽碼:加密過程

str=」abcdefghijklmn…」    '共94個可列印字元

dec_pass    』加密後字串,密文

org_pass       』明文

org_pass.setreverse   』字串反轉

for i=0 to org_pass.length

index = asc(org_pass.substring(i,1)) –2^(i mod 6)   』取ascii碼值

if index > 94 then 

dec_pass= dec_pass & 「1」 &str(index - 32)  』 str(index ) 字串中的字元

else

dec_pass= dec_pass & 「0」 &str(index )

end if

end for 

return dec_pass

解密過程

org_pass    』原文

for i=1 to dec_pass.length step 2

if dec_pass.substring(i,1) = 「1」 then 

org_pass = org_pass &chr(instr(str,dec_pass.substring(i+1,1)) + (i+1) mod 6 + 32)

else          』 chr(intascii)   返回對應ascii碼的字元,為這符串型別

org_pass = org_pass &chr(instr(str,dec_pass.substring(i+1,1)) + (i+1) mod 6 )

end if 

end for

org_pass.setreverse

return org_pass

具體實現,這裡就不詳述,有興趣的,可以試試,本人用vb實現過,現貼結果如下:

org_pass: 123456

dec_pass: 0z0w0r0i0r0v

演算法比較簡單,但還算實用,哈。。。

簡單的加密解密演算法

本文描述一種專案中採用的簡單加密解密演算法,通過把多種演算法進行組合。特點是同個字串不同時間加密結果不同,混合了多種加密方式,很難用統計的方式對密文進行破解。專案中僅是對密碼進行加密,規定密碼長度不超過16個字元,故以下的演算法均是固定長度的。1 擴充套件字串 在加密字串末加 0 之後新增隨機字串擴...

簡單的加密解密演算法

本文描述一種專案中採用的簡單加密解密演算法,通過把多種演算法進行組合。特點是同個字串不同時間加密結果不同,混合了多種加密方式,很難用統計的方式對密文進行破解。專案中僅是對密碼進行加密,規定密碼長度不超過16個字元,故以下的演算法均是固定長度的。1 擴充套件字串 在加密字串末加 0 之後新增隨機字串擴...

加密,解密演算法

private symmetricalgorithm mcsp 宣告對稱演算法變數 private const string civ mi56 4zujhy12se6yjy111a 初始化向量 private const string ckey jkhuiy9d 9i 金鑰 常量 其中civ裡面的值...