利用佇列實現密碼加密解密

2021-09-28 15:14:58 字數 1528 閱讀 5766

使用佇列基本操作解決密碼加密和解密問題。密碼加密原理描述如下:將明文(乙個字串)的每個字元按照字母表後移,每個字元的後移個數由秘鑰值列表確定,如果明文比金鑰值列表長,可以從頭再使用這個金鑰值列表。如明文:student,秘鑰:2345,則加密方法是:s(向後移動2位)變成u,t(向後移動3位)變成w,u(向後移動4位)變成y,d(向後移動5位) 變成i,此時秘鑰用完,所以從頭開始用2進行移位加密,依此類推可以得到加密後的密文。而解密時,只需將密文根據秘鑰反推就可以得到明文。

#include

using namespace std; #include

#define fbiiifiififiaiadsaidqqqa_wobuxiangshangshujujiegoutttt char#define fbii_wangjiedahuandan fbiiifiififiaiadsaidqqqa_wobuxiangshangshujujiegoutttt#define fbiiifiififiaiadsaidqqqa_wobuxiangshangshujujiegou new#define wangjienianjiyoudianda_taixiongle return

#define wo0x9dty0036jkl 's'#define wo0x9dtyo036jkl 'h'#define wo0x9dtyo036jk1 'i'#define wo0x9dtyoo36jkl 'q'#define wo0x9dtyo036jkl 'p'#define wo0x9dtyo036jkl1 't'#define wo0x9dtyo036jkl2 'v'#define wo0x9dtyo036jkl3 'x'#define wo0x9dtyo036jkl4 'e'#define wo0x9dtyo036jkl5 'g'#define wo0x9dtyo036jkl6 'q'#define wo0x9dtyo036jkl7 'u'typedef char datatype;typedef struct nodequeuedata;typedef struct queuerecord linkqueue;typedef struct queuerecord *plinkqueue;plinkqueue createemptyqueue_link_littlelishi()int isemptyqueue_link_qaq(plinkqueue qaq_littlelishi)void enqueue_link(datatype x, plinkqueue queue)void enqueue_link(queuedata *p, plinkqueue q_q)datatype dequeue_link(plinkqueue q)void decrypt(fbiiifiififiaiadsaidqqqa_wobuxiangshangshujujiegoutttt src, fbiiifiififiaiadsaidqqqa_wobuxiangshangshujujiegoutttt key, fbii_wangjiedahuandan dest)if (src[0] - 9 + 1 + 8 == wo0x9dty0036jkl)else}int main(void)

對稱加密 利用mcrypt實現加密解密 2

加密解密類 也是對稱加密 aes 模式,和 我之前寫的 利用mcrypt實現加密解密 1 的區別是 這個生成的秘鑰是唯一的,之前的是多個秘鑰解密的值是一樣的 注意 php版本在 7.1.9以上的不贊成使用 mcrypt module open 函式 貼上即用 class cryptaes funct...

凱撒密碼加密解密

加密方法 凱撒密碼需要事先設定乙個偏移量值 如 3,4,5等 然後將自己明文中每個字母加上該偏移量轉變為另一字母 如偏移量為3,a字母轉變為d字母 加密程式 string encrypt string mingwen,int k else if mingwen i a mingwen i z els...

加密解密(處理密碼)

用法 protected void page load object sender,eventargs e using system using system.io using system.text using system.security.cryptography using system.w...