一、概述
DSA算法(Digital Signature Algorithm,數據簽名算法)
Digital Signature Algorithm (DSA)是Schnorr和ElGamal簽名算法的變種,被美國NIST作為DSfS(DigitalSignature Standard)。
DSA(Data Signature Algorithm)數字簽名算法:DSA僅包含數字簽名,不包含加解密
簡單的說,這是一種更高級的驗證方式,用作數字簽名。不單單只有公鑰、私鑰,還有數字簽名。私鑰加密生成數字簽名,公鑰驗證數據及簽名。如果數據和簽名不匹配則認為驗證失敗!數字簽名的作用就是校驗數據在傳輸過程中不被修改。數字簽名,是單向加密的升級!


1.1、算法分類
| 算法 | 密鑰長度 | 默認長度 | 簽名長度 | 實現的方 |
| SHA1withDSA | 512-65536 (64的整數倍) |
1024 | 同密鑰 | JDK8 |
| SHA224withDSA | 同上 | 1024 | 同密鑰 | JDK8 |
| SHA256withDSA | ... | 1024 | 同密鑰 | JDK8 |
| SHA384withDSA | ... | 1024 | 同密鑰 | BC |
| SHA512withDSA | ... | 1024 | 同密鑰 | BC |
jdk支持
list.add(JdkDsa.DSA);//==SHA1withDSA list.add(JdkDsa.SHA1withDSA); list.add(JdkDsa.SHA224withDSA); list.add(JdkDsa.SHA256withDSA);
