加密演算法和協議
對稱加密:加密和解密使用同乙個金鑰;
對稱加密方法
des,3des,aes,blowfish,twofish,idea,rc6,cast5
特性:1、加密、解密使用同乙個金鑰;
2、將原始資料分割成固定大小的塊,逐個進行加密;
缺陷:1、金鑰過多;
2、秘鑰分發;
公鑰加密:金鑰成對存在
公鑰:公開給所有人;
私鑰:自己留存,必須保證私密性;
特點:用公鑰加密的資料,只能使用與之配對的私鑰解密;
主要功能:
數字簽名:主要用於讓接收方確認傳送方身份;
金鑰交換:傳送方用對方的公鑰加密乙個對稱金鑰,並傳送給對方;
資料加密:
演算法:rsa,dsa,elgamal
單向加密:只能加密,不能解密,提取資料指紋;
特性:定長輸出、雪崩效應
演算法:md5、sha1、sha224、sha256、sha384、sha512
功能:用於保證資料完整性校驗;
pki:金鑰和證書管理是pki的重要組成部分
簽證機構:ca
序號產生器構:ra
證書吊銷列表:crl
證書訪問庫
openssl是乙個強大的安全套接字層密碼庫,包括主要的密碼演算法、常用的金鑰和證書封裝管理功能及ssl協議,
並提供豐富的應用程式供測試或其他目的使用。
openssl由三個元件構成
openssl:多用途的命令列工具
libcrypto:公共加密庫
libssl:實現ssl和tls的庫
openssl命令
對稱加密
工具:openssl enc,gpg
演算法:des3,aes,blowfish,twofish
enc命令
加密:openssl enc -e -des3 -a -salt -in file -out file.out
解密:openssl enc -d -des3 -a -salt -in file.out -out file
-e:加密
-d:解密
-des3:des3演算法
-a:基於文字
-salt:加入一些雜質
-in:需要加密或解密的檔案
-out:輸出至檔案
openssl ?:可檢視可用演算法
單向加密
dgst命令
openssl dgst -md5 file -out file.out
-md5:md5演算法
-out:輸出至檔案
生成密碼
openssl passwd -1 -salt salt
生成隨機數
openssl rand -base64|-hex num
num:表示位元組數;-hex時,每個字元4位,出現的字元數為num*2
公鑰加密 加密
演算法:rsa,elhamal
工具:gpg、openssl rsautl
數字簽名
演算法:rsa,dsa,elgamal
金鑰交換
演算法:dh
生成金鑰對兒
openssl genrsa -out file num_bits
-out:輸出至檔案
num_bits:加密位數
提取公鑰
openssl rsa -in file -pubout
-in:私鑰檔案
簽名和加密
既然是加密,那肯定是不希望別人知道我的訊息,所以只有我才能解密,所以可得出公鑰負責加密,私鑰負責解密 同理既然是簽名,那肯定是不希望有人冒充我發訊息,只有我才能發布這個簽名,所以可得出私鑰負責簽名,公鑰負責驗證。這裡一共有 兩組四個 金鑰 a的公鑰 pub a a的私鑰 pri a b的公鑰 pub...
Shiro會話管理和加密
會話管理 shiro提供了完整的企業級會話管理功能,不依賴於底層容器,不管是j2se還是j2ee環境都可以使用,提供了會話管理,會話事件監聽,會話事件監聽,會話儲存 持久化,容器無關的集群,失效 過期支援,對web的透明支援,sso單點登入的支援等特性.會話管理api subject.getsess...
Linux openssl 公升級 降級
2.解壓包,安裝到 usr local ssl 目錄下 tar zxvf openssl 1.0 2d.tar.gz cd openssl 1.0 2d.config prefix usr local ssl make make install 3.將舊的openssl執行檔案及目錄重命令 mv f...