基於口令的加密解密實現

2021-08-22 18:45:09 字數 1527 閱讀 3830

加密:

// 建立sha1雜湊物件

messagedigest md = messagedigest.getinstance("sha1");

// 雜湊金鑰

md.update(password.getbytes());

// 獲得des金鑰

deskeyspec dks = new deskeyspec(md.digest());

// 獲得des加密金鑰工廠

secretkeyfactory keyfactory = secretkeyfactory.getinstance("des");

// 生成加密金鑰

secretkey key = keyfactory.generatesecret(dks);

// 建立初始化向量物件

ivparameterspec iv = new ivparameterspec(decrypt.iv_8);

algorithmparameterspec paramspec = iv;

cipher cipher = cipher.getinstance("des/cbc/pkcs5padding", "bc");

cipher.init(cipher.encrypt_mode, key, paramspec);

byte res = cipher.dofinal(srcmessage.getbytes());

解密:

// 建立sha1雜湊物件

messagedigest md = messagedigest.getinstance("sha1");

// 雜湊金鑰

md.update(password.getbytes());

// 獲得des金鑰

deskeyspec dks = new deskeyspec(md.digest());

// 獲得des加密金鑰工廠

secretkeyfactory keyfactory = secretkeyfactory.getinstance("des");

// 生成加密金鑰

secretkey key = keyfactory.generatesecret(dks);

// 建立初始化向量物件

ivparameterspec iv = new ivparameterspec(decrypt.iv_8);

algorithmparameterspec paramspec = iv;

//pbeparameterspec pbespec = new pbeparameterspec(iv_8,1);

cipher cipher = cipher.getinstance("des/cbc/pkcs5padding", "bc");

cipher.init(cipher.decrypt_mode, key, paramspec);

byte res = cipher.dofinal(base64.decode(encmessage.getbytes()));

加密解密實現和原理

我們有這樣的乙個場景,有傳送方,接收方,第三方。傳送方想要傳送訊息給接收方,第三方想要截取消並篡改訊息,然後再 給接收方。怎樣才能襯得上是安全的交流方式呢?一般來說需要滿足下面的三個條件 完整性 訊息不被篡改 保密性 第三方無法解密 可認證性 接收方知道訊息是由誰傳送的 首先,我們來講下md5加密,...

php基於mcrypt的加密解密例項

php中自帶了相當多的加密的方法,這裡我們來看一下mcrypt擴充套件的使用方式。也是在工作中需要用這個東西加密訪問使用者的cookie的值,認真的學習了這個方面的內容。1.簡介 mcrypt是php的乙個擴充套件,完成了常用加密演算法的封裝。其實該擴充套件是對mcrypt標準類庫的封裝,mcryp...

加密解密實驗

定義加密文字 str1 你好啊 str2 我很好 str3 吃了嗎 str4 馬上吃 利用函式置換密碼 table1 str.maketrans str1,str2 table2 str.maketrans str2,str3 table3 str.maketrans str3,str4 table...