1. 程式人生 > >PHP使用DES進行加密解密

PHP使用DES進行加密解密

 DES是一種對稱加密演算法,也就是通過密文和合法的金鑰能夠將明文還原出來,在程式開發過程中有些介面 可能需要獲取原始資料,而傳送的資料又比較敏感(比如使用者的密碼等資訊),這時可以選擇DES加密演算法,DES的安全性還算可靠,只要加密金鑰不洩露,目 前破解的方法只有窮舉法進行破解。

        再說一下應用時需要注意的地方,

        1.DES加密時需要的key(金鑰)長度不能超過8位,一般我們設定8位就可以了。

        2.DES加密後的資料是二進位制資料,如果使用GET方式傳輸應該將其處理一下才可以(比如可以轉換成16進位制、base64等)。

        3.需要加密的資料如果長度不是8位元組的倍數,在解密後末尾會有多餘的不可預知的東西(不足8位元組的部分會自動補齊到8位元組),需要進行處理才能得到嚴格 意義上的原始資料,或者我們在加密原始資料前就將資料補齊到8位元組的倍數(比如介面約定原始資料不足8位元組的部分用空格填充等)。

        接下來是一個簡單的流程圖來說明DES加密解密過程:

        DES加密解密

        另外在PHP中使用DES進行加密解密時,如果已經安裝了mcrypt擴充套件,將非常簡單,如果沒有開啟也有辦法。