資料的加密處理

2021-06-28 02:08:29 字數 1907 閱讀 9227

在軟體開發過程中,往往會有很多的地方需要用的資料的加密處理,不論是在pc端的 系統應用,還是 在移動端的應用。

常見的資料加密方式:

1、常用金鑰演算法

des(data encryption standard):資料加密標準,速度較快,適用於加密大量資料的場合; 

3des(triple des):是基於des,對一塊資料用三個不同的金鑰進行三次加密,強度更高; 

rc2和 rc4:用變長金鑰對大量資料進行加密,比 des 快; 

idea(international data encryption algorithm)國際資料加密演算法,使用 128 位金鑰提供非常強的安全性; 

rsa:由 rsa 公司發明,是乙個支援變長金鑰的公共金鑰演算法,需要加密的檔案快的長度也是可變的; 

dsa(digital signature algorithm):數字簽名演算法,是一種標準的 dss(數字簽名標準); 

aes(advanced encryption standard):高階加密標準,是下一代的加密演算法標準,速度快,安全級別高,目前 aes 標準的乙個實現是 rijndael 演算法; 

blowfish,它使用變長的金鑰,長度可達448位,執行速度很快; 

其它演算法,如elgamal、deffie-hellman、新型橢圓曲線演算法ecc等。

2、單向雜湊演算法

md5(message digest algorithm 5):是rsa資料安全公司開發的一種單向雜湊演算法,md5被廣泛使用,可以用來把不同長度的資料塊進行暗碼運算成乙個128位的數值; 

sha(secure hash algorithm)這是一種較新的雜湊演算法,可以對任意長度的資料運算生成乙個160位的數值; 

mac(message authentication code):訊息認證**,是一種使用金鑰的單向函式,可以用它們在系統上或使用者之間認證檔案或訊息。hmac(用於訊息認證的金鑰雜湊法)就是這種函式的乙個例子。 

crc(cyclic redundancy check):迴圈冗餘校驗碼,crc校驗由於實現簡單,檢錯能力強,被廣泛使用在各種資料校驗應用中。占用系統資源少,用軟硬體均能實現,是進行資料傳 輸差錯檢測地一種很好的手段(crc 並不是嚴格意義上的雜湊演算法,但它的作用與雜湊演算法大致相同,所以歸於此類)。

在上述這些 加密演算法中,我具體描述一下 乙個再 常見的登入時候用的加密方式,想必 登入功能 在很多的地方都有用到,但是要實現登入功能時,為了保護到客戶的使用者名稱和密碼,那就得做好資料的加密處理了。下面我主要通過登入功能來闡述資料的加密。

資料的加密方式:sha512、base64、hmacsha512  三中結合形式。

大概的流程:

1、先有使用者輸入的username通過http協議請求伺服器的api獲取 資料加密處理的金鑰,在把使用者的userpwd和金鑰結合組成新的金鑰。

string newpwd = userpwdt + obj.getstring("salt");

2、得到新的金鑰之後,通過 sha512處理

byte hashpwd = digestutils.encodesha512(newpwd.getbytes());

3、再通過 base64處理新的位元組碼金鑰

string encryptedpwd = base64.encodebytes(hashpwd);

4、// 接著用生成的base64的字串作為金鑰,使用hmacsha512演算法加密返回的key值。

byte keyhash = hmac.encodehmacsha512(obj.getstring("key").getbytes(),encryptedpwd.getbytes());

5、最後在 base64 處理加密的金鑰,上傳到伺服器

string encryptedkey = base64.encodebytes(keyhash);

再加上後續上傳的加密工具類即可。

https的加密處理

一 http資料傳輸的不安全 使用http協議進行網路資料傳輸的最大不足是 資料沒有安全性可言,所有的資料都是明文傳輸的,所以一旦被第三方截獲就造成了資料洩漏。二 https資料傳輸的安全性 https協議可以看成是http協議的公升級版,https http ssl,下面以漸進的方式來說明http...

加密lob資料 加密lob資料的方式 加密的語法

加密lob資料 1oracle可以對lob物件資料進行加密,包含blob,clob,nclob 2bfile型別不能進行加密,因為該型別儲存的是檔案的指標位址,實際檔案在資料庫外 加密lob資料的方式 3des168 密碼長度為168位元的三重資料加密標準演算法.aes128 密碼長度為128位元的...

加密解密(處理密碼)

用法 protected void page load object sender,eventargs e using system using system.io using system.text using system.security.cryptography using system.w...