利用前面學習的字符串和數(shù)組的關(guān)系,使用一個字符串password作為密碼對另一個字符串source String進行加密,操作過程如下:
1)將密碼password存放到一個字符數(shù)組中:
char [] p = password.toCharArray();
2)假設(shè)數(shù)組p的長度為n,那么就將待加密的字符串sourceString按順序以n個字符為一組,對每一組中的字符用數(shù)組a的對應字符做加法運算。
注意:最后一組中的字符個數(shù)可小于n。
比如:某組中的n個字符是a0a1…an-1,那么按如下方式得到對該組字符的加密結(jié)果c0c1…cn-1:
c0 = (char)(a0 + p[0]),c1 = (char)(a1 + p[1]),cn-1 = (char)(an-1 + p[n-1])。
3)最后,將字符數(shù)組c轉(zhuǎn)化為字符串得到sourceString的密文。
上述加密算法的解密算法是對密文做減法運算。
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習題和答疑,點擊了解:
一點編程也不會寫的:零基礎(chǔ)C語言學練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進階課程
從零到寫出一個爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程
信息學奧賽或C++選手的 必學C++課程
藍橋杯ACM、信息學奧賽的必學課程:算法競賽課入門課程
手把手講解近五年真題的藍橋杯輔導課程