乙個簡單的加密(java語言實現)

2021-06-23 06:05:16 字數 940 閱讀 9360

加密,從大的方向來講分為兩類,即隱文和替換。

隱文 就是將密碼隱藏起來,讓人不能輕易發現,比如 中國的字謎便是經典的隱文術,將密文隱藏於一句看上去有點不知所謂的文字中。

替換從字面意思便可知道,就是將密文 替換成其他的約定的字元,莫爾斯密碼是典型的替換密碼,將字母用『.』和『-』代替。

我要講的加密只用了隱文,加密原理非常簡單,

首先是將密碼變成雙欄密碼。將密文通過奇偶拆分成雙欄然後重組。

通過如下**可以將密文加密成雙欄密碼

//獲取密碼的長度

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...