常見加解密

2021-08-21 10:19:32 字數 1375 閱讀 1651

簡介:常見的對資料進行加密,解密演算法分為以下幾類

1)單向加密演算法

2)對稱加密演算法

3)非對稱加密演算法

一.單向加密演算法

這種演算法,只能加密,不能解密,是不可逆的,所以叫做單向加密演算法(摘要演算法),這種演算法通常被用作對資料簽名

1.md5

摘要演算法是乙個不可逆過程,無論多大資料,經過演算法運算厚都是生成固定長度的資料,一般結果使用16進製制進行顯示。

md5的前身有md2,md3和md4.

md5演算法具有以下特點:

1.壓縮性:任意長度的資料,算出的md5值長度都是固定的(輸出128位元組)

2.容易計算:從原資料計算出md5值很容易

3.抗修改性:對原資料進行任何改動,哪怕只修改乙個位元組,所得到md5值都是很大區別

4.強抗碰撞:已知原資料和其md5值,除了暴力找不到相同的md5

原理同md5一樣,相比md5更安全,sh1基於md5,加密後的資料長度更長產生長度160位元組的雜湊值

sha家族有五個演算法:sha1,sha-224,sha-256,sha-384,sha-512.後四種又稱作sha2

二.對稱加密

對稱加密:是指加密和解密使用金鑰的加密演算法

在對稱加密演算法中,資料傳送方將明文和加密金鑰一起經過演算法處理後,使其變成複雜的密文傳送出去。接收方收到密文後,若想解讀原文,則需要使用加密用過的金鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。

在大多數的對稱演算法中,加密金鑰和解密金鑰是相同的,所以它要求傳送方和接收方在安全通訊之前,商定乙個金鑰。對稱演算法的安全性依賴於金鑰,金鑰洩漏意味著訊息有被解密的風險,所以金鑰的保密性對通訊的安全性至關重要。

常用演算法:

des(data encryption standard)資料加密標準:jdk實現的演算法金鑰長度為56位

3des:三重des,jdk實現的演算法金鑰長度為112和168,預設168位。

aes:代替des的演算法,目前使用最多的對稱加密演算法,官方並未報告被破解。aes 通常用於移動通訊系統加密以及基於ssh協議的軟體。jdk實現的aes金鑰長度有128,192,256,預設128位。

此外還有 tdea演算法,blowfish演算法,rc5演算法,idea演算法,pbe演算法等,目前使用 3des 和 aes 較為廣泛。

三.非對稱加密

常見加解密方法 轉

常用加密解密方法 常見用於保證安全的加密或編碼演算法如下 金鑰演算法用來對敏感資料 摘要 簽名等資訊進行加密,常用的金鑰演算法包括 des data encryption standard 資料加密標準,速度較快,適用於加密大量資料的場合 3des triple des 是基於des,對一塊資料用三...

python加解密詳解 爬蟲常見

在做爬蟲資料抓取的很多時候post請求引數中重要的資料都是經過js的加密,js中常常加密的js函式有以下幾種 普及一下各種加密演算法 base64編碼 基礎 單項雜湊函式 md5 sha1 sha256 sha512等 訊息認證碼 hmac md5 hmac sha1 對稱加密 des 3des a...

加解密方法

imports system imports system.security.cryptography imports system.text imports system.io public class encryptor private shared iv as byte private sha...