1,aes加解密
aes,advanced encryption standard,高階加密標準。採用對稱金鑰,秘鑰長度支援128,192,256。是一種分組密碼,說是為了取代des,des之前統治20多年,因為其被打敗過幾次,而且計算速度很慢,所以被aes取代了。
有四種型別:ecb,cbc,cfb,ofb。aes的加解密演算法有很多輪的重複和變換。
加密演算法工作過程比較複雜,更考驗人的數學功底,但是需要知道的是,加解密演算法的過程是不叫複雜且消耗效能的,所以一般能繞過就繞過加解密吧,除非安全必需。
2,rsa加解密
非對稱加密演算法,一般證書服務會用到。既用於加密,也用於數字簽名。是三個發明者的名字首字母命名。是目前最流行的公開金鑰演算法。rsa的密碼難於破解,它有一對密碼pk(公鑰)。sk(私鑰)。
pk和sk是不同的金鑰,pk是公開的,sk是保密的,加解密演算法也都是公開的,不能根據pk計算出sk。
實用場景:比如後台介面給你個pk,資料經過加密後傳遞資料給後台,後台通過sk進行解密獲取。
那麼pk的擷取就顯得很重要,來看這樣一種情況:a和b在通訊,c進行中間的攻擊,所以公鑰的分配顯得尤為重要。
可以看出,a和b都不知道c在中間監聽,可以用數字證書來防止類似攻擊。速度一直是rsa的缺陷,所以一般只用於少量資料的加密。
一般是醬紫工作的:a和b都有一對pk和sk,互相告知對方的pk,然後通過自己的sk進行解密。其他人就算收到pk,沒有sk也是沒辦法解密的。這種情況,上面c也可以劫持雙方的pk,進行資料劫持。
【敲黑板】:後台加密兩種演算法都嘗試了下,發現使用rsa加密速度遠遠落後於aes加密,大概八倍多速度差,所以最終還是選擇了使用aes加密方式!
【不定期更新】
不定期更新部落格
也算是乙個真正程式設計生涯的起點,聽說大神都有自己的部落格。csdn部落格主要是作為乙個詳細的記錄場所,類似log的verbose檔,細緻入微,無孔不入,因此可能更新頻率較高,質量也相對較低。我的意思是將csdn這裡的部落格作為日後更加精煉的部落格 比如個人blog站或者github pages 的...
C STL 不定期更新
一 set set的特性是,所有元素都會根據元素的鍵值自動排序,set的元素不像map那樣可以同時擁有實值 value 和鍵值 key set元素的鍵值就是實值,實值就是鍵值。set不允許兩個元素有相同的鍵值。include初始化 int arr 5 set iset arr,arr 5 或者只定義...
MySql命令(不定期更新)
show databases 檢視資料庫 create database car 建立資料庫 use car 進入資料庫 show tables 檢視表 create tables mycar 建立表create table if not exists love mycar 如何不存在就建立表 de...