加密,從大的方向來講分為兩類,即隱文和替換。
隱文 就是將密碼隱藏起來,讓人不能輕易發現,比如 中國的字謎便是經典的隱文術,將密文隱藏於一句看上去有點不知所謂的文字中。
替換從字面意思便可知道,就是將密文 替換成其他的約定的字元,莫爾斯密碼是典型的替換密碼,將字母用『.』和『-』代替。
我要講的加密只用了隱文,加密原理非常簡單,
首先是將密碼變成雙欄密碼。將密文通過奇偶拆分成雙欄然後重組。
通過如下**可以將密文加密成雙欄密碼
//獲取密碼的長度
int leng=pwd.length();
string dan="";//奇數
string shuang="";//偶數
string secret="";//加密後的密文
for(int i=1;i然後在得到的奇數和偶數之間加入一些無意義的字元,可以提高安全性。
以下為生存隨機字元的方法:
/***
* 得到指定長度的隨機數字和字母的字串
* @param char1
* @param char2
* @param len
* @return
*/public static string getmultistr(int len)else
string topwd=dan+shuang;//雙欄密文
int p=topwd.length();//雙欄密文的長度
int pp=0;
if(p%2==0){
pp=p/2;
for(int i=1;i事實證明,加密方法比解密方法更容易地多,我在測試時沒用到過解密,但還是發出來,和大家交流學習
C語言實現乙個簡單通訊錄
通訊錄和學生資訊管理系統的基本功能部分實現一模一樣。來看看不一樣的部分。查詢 通訊錄需要實現根據聯絡人不同資訊查詢的功能,可以為每一種查詢情況都封裝乙個查詢函式,或者根據不同情況返回不同的比較結果進行查詢。為了使函式更加簡短,我們將該功能分為三個函式。根據 mode 的不同獲取不同比較方式的比較結果...
C語言實現乙個簡單矩陣函式包
線性代數知識。兩個矩陣的加法。完成兩個矩陣加法運算 void add int row,int column printf 請輸入第二個 d 行 d 列的矩陣 row,column for i 0 i row i for i 0 i row i else printf n 兩個矩陣的減法。完成兩個矩陣...
怎麼使用C語言實現乙個簡單的類
聽到一哥們碰到乙個面試題,說使用c模擬乙個類。我們知道c中是沒有類的概念的,那我們怎麼使用c模擬類呢?其實我們的辦法並不多,巨集定義可能會是乙個不錯的選擇,下面是簡單的嘗試。define struct s int a int b int c struct s define struct h stru...