java安全android-加密算法v1_第1頁
java安全android-加密算法v1_第2頁
java安全android-加密算法v1_第3頁
java安全android-加密算法v1_第4頁
java安全android-加密算法v1_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、一、 內(nèi)容介 二、 手寫簡單加密算法( 三、 對稱加 一、 內(nèi)容介 二、 手寫簡單加密算法( 三、 對稱加 介 四、 *+9算法的實 *+9算法簡 *+9加密的算 *+9算法的安全性和發(fā) *+9算法使 (GY 原 五、9算法的實 9算法簡 9算法實 六、 89算法的實 89算法簡 89加密算法的缺 89算法實 七、 消 消息簡 3* 算法實 3* 算法實 八、 數(shù)字簽 數(shù)字簽名簡 數(shù)字簽名的實 九、 數(shù)字 簡 格 申 十、 .VY編 獲取NZZVY網(wǎng)頁源 TXOJ中NZZVY請 一、內(nèi)容介紹MD5、SHA1、SHA-256、SHA-512 : 二、手寫簡單一、內(nèi)容介紹MD5、SHA1、SHA-

2、256、SHA-512 : 二、手寫簡單加密算法(凱撒)數(shù)目進行偏移后被替換成密文。例如,當偏移量是 3A 將被替換成 D,B 變成 E例如:字符串”ABC”的每個字符都右移 3 位則變成”的時候”DEF33.publicKaiSaEncrypted3.publicKaiSaEncryptedprivates privatepublicicfinalStringstr=oicpwd=icvoidmain(String Stringencrypte=String decrypted = decrypted(encrypte);publicicStringoriginal)charcharArra

3、y= fori=0;i、8?6、-*+、8*+92DES packagepublicclassDESTestpublicicvoidmain(Stringargs)throwsInvalidKeyException,NoSuchPaddingException,IllegalBlockSizeException, str這是原文psw=encrypte=encrypte(str,Stringdecrypte=decrypte(encrypte,publicicStringencrypte(Stringoriginal,Stringpsw)throwsCiphercipher=Keykey= b

4、ytedoFinal=*將自己數(shù)組用Base64編碼,轉(zhuǎn)換為字符Stringencode=return為 8位時后面補08位只取前8*privatesicSecretKeySpecgetKey(Stringbytebuffer=newbyte8; bytebytes=psw.getBytes(); returnnewSecretKeySpec(buffer,publicicStringdecrypte(Stringoriginal,Stringthrows BCiphercipher=*Keykey =* 。注意,這里需要將傳入的原文使用Base64編碼轉(zhuǎn)換為byte,因為加密后的密文是用Ba

5、se64*doFinal=new3Base64 例如 碼表使用 Base64為為十進制數(shù)位為 十進制數(shù)位為 依次取0十進制數(shù)為 五、算法的實現(xiàn)1AES 算法簡 AES2AES 設置為 2AES 設置為 1.packagecom; 14.classAESTest15.privateicStringpsw=16.publicicvoidmain(Stringargs)throwsInvalidKeyException, UnsupportedEncodingExceptionStringstr你好Stringencrypte=encrypte(str,Stringdecrypte=decrypte

6、(encrypte,privateicStringencrypte(Stringoriginal,Stringpsw)throws Ciphercipher=Cipher.getInstance(AES); Key key = getAESKey(psw); doFinal=privateicKeygetAESKey(Stringbytebuffer=newbyte16; byte bytes = psw.getBytes(); i=0;ibuffer.length&i 2,(# +,*( )# (*,2* 2)。有點暈哈,其實第四步、四輪循環(huán)運算:循環(huán)的次數(shù)是分組的個數(shù)(4 3MD5 普遍認

7、3* 是很安全的3MD5 普遍認3* 是很安全的3* 處理后3* 處理把數(shù)據(jù)起來, 然后再跟你的 結(jié)果匹配, 這時我就有可能得到明文。比如某個N JR本站針對md5超過24萬億條,共占用160T硬盤,成功率95%以上,建站十年,國內(nèi)外享有盛譽4MD51.package10.publicclassMD5Testpublicpublicicvoidmain(Stringargs)throwsNoSuchAlgorithmException,Stringstr你Stringresult=Filefile=newFile(C:tomcatapache-tomcat-7.0.77-windows-Str

8、ingresult2=的Tomact的privateicStringgetMD5(Filefile)throwsMessageDigestmessageDigest=FileInputStreamfis=newFileInputStream(file); byte buffer = new byte1024; messageDigest.update(buffer,0,bytedigest=return/獲取字符串的MD5privateicStringgetMD5(Stringstr)throwsMessageDigestmessageDigest=digest=46.對 5SHA算法實5SH

9、A算法實 。1x10。10.publicclassSHATest10.publicclassSHATestpublicicvoidmain(Stringargs)throwsNoSuchAlgorithmException,StringstrStringresult=Filefile=newFile(C:tomcatapache-tomcat-7.0.77-windows-String=的Tomact的privateicStringgetSHA(Filefile)throwsMessageDigestmessageDigest=MessageDigest.getInstance(SHA); F

10、ileInputStream fis = new FileInputStream(file);byte buffer = new byte1024; messageDigest.update(buffer,0,bytedigest=returnprivateicStringgetSHA(Stringstr)throwsMessageDigestmessageDigest=MessageDigest.getInstance(SHA); byte digest = messageDigest.digest(str.getBytes();return41.八、數(shù)字簽名1數(shù)字簽名簡數(shù)字簽名,就是對要發(fā)

11、送八、數(shù)字簽名1數(shù)字簽名簡數(shù)字簽名,就是對要發(fā)送的消息的消sha)使用私鑰加密后的字符串。2數(shù)字簽名的實現(xiàn)1.package。2數(shù)字簽名的實現(xiàn)1.package12.publicclassSignatureTestpublicicvoidmain(Stringargs)throwsNoSuchAlgorithmException,SignatureExceptionStringcontentStringpublicicvoidmain(Stringargs)throwsNoSuchAlgorithmException,SignatureExceptionStringcontentString你

12、KeyPairGeneratorkeyPairGenerator=KeyPairkeyPair=PrivateKeyprivateKey=PublicKeypublic1Key=bytesignature=getSignature(privateKey,verifySign=verifySign(contentString,signature,(verifySign)sicbytegetSignature(PrivateKeyprivateKey,Stringcontent) Signaturesignature=byte sign = signature.sign();40. return4

13、2.publicverifySign(Stringcontent,byte43. NoSuchAlgorithmException,InvalidKeyException,Signaturesignature=48.49. return九、數(shù)1KXTKZ 上驗證通信實機構(gòu)) 機構(gòu),又稱(NO)。 ,對應用進行簽名認證(例如 TUOJ 的九、數(shù)1KXTKZ 上驗證通信實機構(gòu)) 機構(gòu),又稱(NO)。 ,對應用進行簽名認證(例如 TUOJ 的 ) 機構(gòu),又稱NOZ中心,作為電子商務交易中受信任的檢驗的責任。) 中心為每個使用公開密鑰的用()。格 的申CA所的申CA所所4.的CACA,數(shù)的CACA,數(shù)

14、 十、編1Https ernet用之規(guī)格為 40 bit則已推出 128bit。只要 3.0I.E1Https ernet用之規(guī)格為 40 bit則已推出 128bit。只要 3.0I.E.或 瀏覽器即可支持 SSL TLS 是 SSL 的標準化后的產(chǎn)物,有 1.01.11.2 三個版本,默認使用 1.0。和有區(qū)別 ,事實現(xiàn)在用的都是 TLS,但因為歷史了 SSL 這個稱呼的12306。的12306。2https 網(wǎng)頁源2https 網(wǎng)頁源18.;classHttps20. IOExceptionSSLContextsslContext=TrustManagertm=newTrustManag

15、ernewEmptyTrustManager(); sslContext.init(null, tm, null);24.URLurl=newHttpsURLConnectionconnection=(HttpsURLConnection)url.openConnection(); InputStream is = connection.getInputStream();ByteArrayOutputStreambaos=newByteArrayOutputStream(); byte buffer = new byte1024; baos.write(buffer,0,sicclassEmp

16、tyTrustManagerimplementspublicvoidchain,Stringarg1)Exception:chain)publicvoidcheckServerTrusted(X509 Exception Exception:chain)publicvoidcheckServerTrusted(X509 Exception :chain)publicX509return null; 65.3Android 請的,跟其進行NZZVY通信.69測試測試地址: OM U importimport30.;importimport30.;classMainActivityivity pr

17、otectedvoidonCreate(Bundlee) publicvoidstart(ViewnewThread(newRunnable()publicvoidrun()try FactoryInputStreamiStream=getAssets().open(load-der.crt); ca KeyStorekeyStore= Entry(ca, SSLContextsslContext= URLurl=newHttpsURLConnectionconnection=KeyStorekeyStore= Entry(ca, SSLContextsslContext= URLurl=newHttpsURLConnectionconnection=(HttpsURLConnection)65.InputStream is = connection.getI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論