資源簡介
自己整理的加解密代碼,包括MD5 RSA,DSA AES DES加解密代碼

代碼片段和文件信息
package?com.lyt.certificate;
import?java.io.FileInputStream;
import?java.security.KeyStore;
import?java.security.PrivateKey;
import?java.security.PublicKey;
import?java.security.Signature;
import?java.security.cert.Certificate;
import?java.security.cert.CertificateFactory;
import?java.security.cert.X509Certificate;
import?java.util.Date;
import?javax.crypto.Cipher;
import?com.lyt.coder.Coder;
/**
?*?Java證書體系的實現
?*?@author?Leiyt
?*
?*/
public?abstract?class?CertificateCoder?extends?Coder?{
?/**?
?????*?Java密鑰庫(Java?Key?Store,JKS)KEY_STORE?
?????*/??
????public?static?final?String?KEY_STORE?=?“JKS“;??
??
????public?static?final?String?X509?=?“X.509“;??
??
????/**?
?????*?由KeyStore獲得私鑰?
?????*??
?????*?@param?keyStorePath?
?????*?@param?alias?
?????*?@param?password?
?????*?@return?
?????*?@throws?Exception?
?????*/??
????private?static?PrivateKey?getPrivateKey(String?keyStorePath?String?alias??
????????????String?password)?throws?Exception?{??
????????KeyStore?ks?=?getKeyStore(keyStorePath?password);??
????????PrivateKey?key?=?(PrivateKey)?ks.getKey(alias?password.toCharArray());??
????????return?key;??
????}??
??
????/**?
?????*?由Certificate獲得公鑰?
?????*??
?????*?@param?certificatePath?
?????*?@return?
?????*?@throws?Exception?
?????*/??
????private?static?PublicKey?getPublicKey(String?certificatePath)??
????????????throws?Exception?{??
????????Certificate?certificate?=?getCertificate(certificatePath);??
????????PublicKey?key?=?certificate.getPublicKey();??
????????return?key;??
????}??
??
????/**?
?????*?獲得Certificate?
?????*??
?????*?@param?certificatePath?
?????*?@return?
?????*?@throws?Exception?
?????*/??
????private?static?Certificate?getCertificate(String?certificatePath)??
????????????throws?Exception?{??
????????CertificateFactory?certificateFactory?=?CertificateFactory??
????????????????.getInstance(X509);??
????????FileInputStream?in?=?new?FileInputStream(certificatePath);??
??
????????Certificate?certificate?=?certificateFactory.generateCertificate(in);??
????????in.close();??
??
????????return?certificate;??
????}??
??
????/**?
?????*?獲得Certificate?
?????*??
?????*?@param?keyStorePath?
?????*?@param?alias?
?????*?@param?password?
?????*?@return?
?????*?@throws?Exception?
?????*/??
????private?static?Certificate?getCertificate(String?keyStorePath??
????????????String?alias?String?password)?throws?Exception?{??
????????KeyStore?ks?=?getKeyStore(keyStorePath?password);??
????????Certificate?certificate?=?ks.getCertificate(alias);??
??
????????return?certificate;??
????}??
??
????/**?
?????*?獲得KeyStore?
?????*??
?????*?@param?keyStorePath?
?????*?@param?password?
?????*?@return?
?????*?@throws?Exception?
?????*/??
????private?static?KeyStore?getKeyStore(String?keyStorePath?String?password)??
????????????throws?Exception?{??
????????FileInputStream?is?=?new?FileInputStream(keyStorePath);??
????????KeyStore?ks?=?KeyStore.getIn
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-01-22?10:00??Code\
?????文件?????????491??2014-01-22?10:00??Code\.classpath
?????文件?????????380??2014-01-22?10:00??Code\.project
?????目錄???????????0??2014-01-22?10:00??Code\.settings\
?????文件?????????598??2014-01-22?10:00??Code\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2014-01-22?10:00??Code\bin\
?????目錄???????????0??2014-01-22?10:00??Code\bin\com\
?????目錄???????????0??2014-01-22?10:00??Code\bin\com\lyt\
?????目錄???????????0??2014-01-22?10:00??Code\bin\com\lyt\certificate\
?????文件????????5879??2014-01-22?10:00??Code\bin\com\lyt\certificate\CertificateCoder.class
?????文件????????2842??2014-01-22?10:00??Code\bin\com\lyt\certificate\CertificateCoderTest.class
?????目錄???????????0??2014-01-22?10:00??Code\bin\com\lyt\coder\
?????文件????????2106??2014-01-22?10:00??Code\bin\com\lyt\coder\Coder.class
?????文件????????1991??2014-01-22?10:00??Code\bin\com\lyt\coder\CoderTest.class
?????目錄???????????0??2014-01-22?10:00??Code\bin\com\lyt\des\
?????文件????????2537??2014-01-22?10:00??Code\bin\com\lyt\des\DESCoder.class
?????文件????????1437??2014-01-22?10:00??Code\bin\com\lyt\des\DESCoderTest.class
?????目錄???????????0??2014-01-22?10:00??Code\bin\com\lyt\dh\
?????文件????????5058??2014-01-22?10:00??Code\bin\com\lyt\dh\DHCoder.class
?????文件????????2244??2014-01-22?10:00??Code\bin\com\lyt\dh\DHCoderTest.class
?????目錄???????????0??2014-01-22?10:00??Code\bin\com\lyt\dsa\
?????文件????????4343??2014-01-22?10:00??Code\bin\com\lyt\dsa\DSACoder.class
?????文件????????1688??2014-01-22?10:00??Code\bin\com\lyt\dsa\DSACoderTest.class
?????目錄???????????0??2014-01-22?10:00??Code\bin\com\lyt\ecc\
?????文件????????5125??2014-01-22?10:00??Code\bin\com\lyt\ecc\ECCCoder.class
?????文件????????1703??2014-01-22?10:00??Code\bin\com\lyt\ecc\ECCCoderTest.class
?????目錄???????????0??2014-01-22?10:00??Code\bin\com\lyt\md5\
?????文件????????1344??2014-01-22?10:00??Code\bin\com\lyt\md5\MD5.class
?????文件?????????753??2014-01-22?10:00??Code\bin\com\lyt\md5\MD5Test.class
?????目錄???????????0??2014-01-22?10:00??Code\bin\com\lyt\pbe\
?????文件????????2024??2014-01-22?10:00??Code\bin\com\lyt\pbe\PBECoder.class
............此處省略56個文件信息
- 上一篇:32位SPI通信FPGA
- 下一篇:互聯網產品經理文檔模板
評論
共有 條評論