⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java上加密算法的实现用例.mht

📁 JAVA核心源代码及算法,适合入门的初学者,可以让你快的入门
💻 MHT
📖 第 1 页 / 共 5 页
字号:
b)=20
                              <BR><BR>{ <BR><BR>String hs=3D""; =
<BR><BR>String=20
                              stmp=3D""; <BR><BR>for (int n=3D0;n {=20
                              =
<BR><BR>stmp=3D(java.lang.Integer.toHexString(b[n]=20
                              &amp; 0XFF)); <BR><BR>if =
(stmp.length()=3D=3D1)=20
                              hs=3Dhs+"0"+stmp; <BR><BR>else =
hs=3Dhs+stmp;=20
                              <BR><BR>if (n } <BR><BR>return =
hs.toUpperCase();=20
                              <BR><BR>} <BR><BR><BR>} =
<BR><BR><BR><BR><BR>2.4.=20
                              DESede/DES=B6=D4=B3=C6=CB=E3=B7=A8=20
                              =
<BR><BR>=CA=D7=CF=C8=C9=FA=B3=C9=C3=DC=D4=BF,=B2=A2=B1=A3=B4=E6(=D5=E2=C0=
=EF=B2=A2=C3=BB=B5=C4=B1=A3=B4=E6=B5=C4=B4=FA=C2=EB,=BF=C9=B2=CE=BF=BCDSA=
=D6=D0=B5=C4=B7=BD=B7=A8)=20
                              <BR><BR><BR>KeyGenerator keygen =3D=20
                              KeyGenerator.getInstance(Algorithm);=20
                              <BR><BR><BR>SecretKey deskey =3D=20
                              keygen.generateKey();=20
                              =
<BR><BR><BR>=D3=C3=C3=DC=D4=BF=BC=D3=C3=DC=C3=F7=CE=C4(myinfo),=C9=FA=B3=C9=
=C3=DC=CE=C4(cipherByte)=20
                              <BR><BR><BR>Cipher c1 =3D=20
                              Cipher.getInstance(Algorithm);=20
                              =
<BR><BR><BR>c1.init(Cipher.ENCRYPT_MODE,deskey);=20
                              <BR><BR><BR>byte[]=20
                              =
cipherByte=3Dc1.doFinal(myinfo.getBytes());=20
                              =
<BR><BR><BR>=B4=AB=CB=CD=C3=DC=CE=C4=BA=CD=C3=DC=D4=BF,=B1=BE=CE=C4=C3=BB=
=D3=D0=CF=E0=D3=A6=B4=FA=C2=EB=BF=C9=B2=CE=BF=BCDSA=20
                              <BR><BR><BR>............. =
<BR><BR><BR>=D3=C3=C3=DC=D4=BF=BD=E2=C3=DC=C3=DC=CE=C4=20
                              <BR><BR><BR>c1 =3D =
Cipher.getInstance(Algorithm);=20
                              =
<BR><BR><BR>c1.init(Cipher.DECRYPT_MODE,deskey);=20
                              <BR><BR><BR>byte[]=20
                              clearByte=3Dc1.doFinal(cipherByte);=20
                              =
<BR><BR><BR>=CF=E0=B6=D4=C0=B4=CB=B5=B6=D4=B3=C6=C3=DC=D4=BF=B5=C4=CA=B9=D3=
=C3=CA=C7=BA=DC=BC=F2=B5=A5=B5=C4,=B6=D4=D3=DAJCE=C0=B4=BD=B2=D6=A7=BC=BC=
DES,DESede,Blowfish=C8=FD=D6=D6=BC=D3=C3=DC=CA=F5=20
                              =
<BR><BR><BR>=B6=D4=D3=DA=C3=DC=D4=BF=B5=C4=B1=A3=B4=E6=B8=F7=B4=AB=CB=CD=BF=
=C9=CA=B9=D3=C3=B6=D4=CF=F3=C1=F7=BB=F2=D5=DF=D3=C3=B6=FE=BD=F8=D6=C6=B1=E0=
=C2=EB,=CF=E0=B9=D8=B2=CE=BF=BC=B4=FA=C2=EB=C8=E7=CF=C2=20
                              <BR><BR>SecretKey deskey =3D =
keygen.generateKey();=20
                              <BR><BR>byte[] =
desEncode=3Ddeskey.getEncoded();=20
                              <BR><BR>javax.crypto.spec.SecretKeySpec =
destmp=3Dnew=20
                              =
javax.crypto.spec.SecretKeySpec(desEncode,Algorithm);=20
                              <BR><BR>SecretKey mydeskey=3Ddestmp;=20
                              <BR><BR><BR><BR><BR>=CF=E0=B9=D8API =
<BR><BR><BR>KeyGenerator=20
                              =
=D4=DADSA=D6=D0=D2=D1=BE=AD=CB=B5=C3=F7,=D4=DA=CC=ED=BC=D3JCE=BA=F3=D4=DA=
instance=BD=F8=BF=C9=D2=D4=C8=E7=CF=C2=B2=CE=CA=FD=20
                              =
<BR><BR><BR>DES,DESede,Blowfish,HmacMD5,HmacSHA1=20
                              <BR><BR><BR>javax.crypto.Cipher =
=BC=D3/=BD=E2=C3=DC=C6=F7 public=20
                              static final Cipher =
getInstance(java.lang.String=20
                              transFORMation) <BR><BR>throws=20
                              java.security.NoSuchAlgorithmException,=20
                              <BR><BR>NoSuchPaddingException=20
                              =
<BR><BR><BR><BR><BR>=B7=B5=BB=D8=D2=BB=B8=F6=D6=B8=B6=A8=B7=BD=B7=A8=B5=C4=
Cipher=B6=D4=CF=F3=20
                              <BR><BR><BR>=B2=CE=CA=FD:transFORMation =
=B7=BD=B7=A8=C3=FB(=BF=C9=D3=C3=20
                              DES,DESede,Blowfish) <BR><BR><BR>public =
final void=20
                              init(int opmode, java.security.Key key)=20
                              <BR><BR>throws =
java.security.InvalidKeyException=20
                              =
<BR><BR><BR>=D3=C3=D6=B8=B6=A8=B5=C4=C3=DC=D4=BF=BA=CD=C4=A3=CA=BD=B3=F5=CA=
=BC=BB=AFCipher=B6=D4=CF=F3=20
                              <BR><BR><BR>=B2=CE=CA=FD:opmode =
=B7=BD=CA=BD(ENCRYPT_MODE,=20
                              DECRYPT_MODE, WRAP_MODE,UNWRAP_MODE)=20
                              <BR><BR><BR>key =C3=DC=D4=BF =
<BR><BR><BR><BR>public final=20
                              byte[] doFinal(byte[] input) =
<BR><BR>throws=20
                              java.lang.IllegalStateException,=20
                              <BR><BR>IllegalBlockSizeException,=20
                              <BR><BR>BadPaddingException=20
                              =
<BR><BR><BR><BR><BR><BR>=B6=D4input=C4=DA=B5=C4=B4=AE,=BD=F8=D0=D0=B1=E0=C2=
=EB=B4=A6=C0=ED,=B7=B5=BB=D8=B4=A6=C0=ED=BA=F3=B6=FE=BD=F8=D6=C6=B4=AE,=CA=
=C7=B7=B5=BB=D8=BD=E2=C3=DC=CE=C4=BB=B9=CA=C7=BC=D3=BD=E2=CE=C4=D3=C9init=
=CA=B1=B5=C4opmode=BE=F6=B6=A8=20
                              =
<BR><BR><BR>=D7=A2=D2=E2:=B1=BE=B7=BD=B7=A8=B5=C4=D6=B4=D0=D0=C7=B0=C8=E7=
=B9=FB=D3=D0update,=CA=C7=B6=D4updat=BA=CD=B1=BE=B4=CEinput=C8=AB=B2=BF=B4=
=A6=C0=ED,=B7=F1=D4=F2=CA=C7=B1=BEinout=B5=C4=C4=DA=C8=DD=20
                              <BR><BR><BR>/* =
<BR><BR>=B0=B2=C8=AB=B3=CC=D0=F2 DESede/DES=B2=E2=CA=D4=20
                              <BR><BR>*/ <BR><BR>import java.security.*; =

                              <BR><BR>import javax.crypto.*; =
<BR><BR>public=20
                              class testdes { <BR><BR>public static void =

                              main(String[] args){ <BR><BR>testdes =
my=3Dnew=20
                              testdes(); <BR><BR>my.run(); <BR><BR>}=20
                              <BR><BR>public void run() {=20
                              =
<BR><BR>//=CC=ED=BC=D3=D0=C2=B0=B2=C8=AB=CB=E3=B7=A8,=C8=E7=B9=FB=D3=C3JC=
E=BE=CD=D2=AA=B0=D1=CB=FC=CC=ED=BC=D3=BD=F8=C8=A5=20
                              <BR><BR>Security.addProvider(new=20
                              com.sun.crypto.provider.SunJCE()); =
<BR><BR>String=20
                              Algorithm=3D"DES"; //=B6=A8=D2=E5 =
=BC=D3=C3=DC=CB=E3=B7=A8,=BF=C9=D3=C3 DES,DESede,Blowfish=20
                              <BR><BR>String =
myinfo=3D"=D2=AA=BC=D3=C3=DC=B5=C4=D0=C5=CF=A2"; <BR><BR>try {=20
                              <BR><BR>//=C9=FA=B3=C9=C3=DC=D4=BF =
<BR><BR>KeyGenerator keygen =3D=20
                              KeyGenerator.getInstance(Algorithm);=20
                              <BR><BR>SecretKey deskey =3D =
keygen.generateKey();=20
                              <BR><BR><BR>//=BC=D3=C3=DC=20
                              =
<BR><BR>System.out.println("=BC=D3=C3=DC=C7=B0=B5=C4=B6=FE=BD=F8=B4=AE:"+=
byte2hex(myinfo.getBytes()));=20
                              =
<BR><BR>System.out.println("=BC=D3=C3=DC=C7=B0=B5=C4=D0=C5=CF=A2:"+myinfo=
);=20
                              <BR><BR>Cipher c1 =3D =
Cipher.getInstance(Algorithm);=20
                              =
<BR><BR>c1.init(Cipher.ENCRYPT_MODE,deskey);=20
                              <BR><BR>byte[]=20
                              =
cipherByte=3Dc1.doFinal(myinfo.getBytes());=20
                              =
<BR><BR>System.out.println("=BC=D3=C3=DC=BA=F3=B5=C4=B6=FE=BD=F8=B4=AE:"+=
byte2hex(cipherByte));=20
                              <BR><BR>//=BD=E2=C3=DC <BR><BR>c1 =3D=20
                              Cipher.getInstance(Algorithm);=20
                              =
<BR><BR>c1.init(Cipher.DECRYPT_MODE,deskey);=20
                              <BR><BR>byte[] =
clearByte=3Dc1.doFinal(cipherByte);=20
                              =
<BR><BR>System.out.println("=BD=E2=C3=DC=BA=F3=B5=C4=B6=FE=BD=F8=B4=AE:"+=
byte2hex(clearByte));=20
                              =
<BR><BR>System.out.println("=BD=E2=C3=DC=BA=F3=B5=C4=D0=C5=CF=A2:"+(new=20
                              String(clearByte))); <BR><BR><BR>} =
<BR><BR>catch=20
                              (java.security.NoSuchAlgorithmException =
e1)=20
                              {e1.printStackTrace();} <BR><BR>catch=20
                              (javax.crypto.NoSuchPaddingException e2)=20
                              {e2.printStackTrace();} <BR><BR>catch=20
                              (java.lang.Exception e3) =
{e3.printStackTrace();}=20
                              <BR><BR>} <BR><BR>public String =
byte2hex(byte[] b)=20
                              =
//=B6=FE=D0=D0=D6=C6=D7=AA=D7=D6=B7=FB=B4=AE <BR><BR>{ <BR><BR>String =
hs=3D"";=20
                              <BR><BR>String stmp=3D""; <BR><BR>for (int =
n=3D0;n {=20
                              =
<BR><BR>stmp=3D(java.lang.Integer.toHexString(b[n]=20
                              &amp; 0XFF)); <BR><BR>if =
(stmp.length()=3D=3D1)=20
                              hs=3Dhs+"0"+stmp; <BR><BR>else =
hs=3Dhs+stmp;=20
                              <BR><BR>if (n } <BR><BR>return =
hs.toUpperCase();=20
                              <BR><BR>} <BR><BR><BR>} =
<BR><BR><BR><BR><BR>2.5.=20
                              =
Diffie-Hellman=C3=DC=D4=BF=D2=BB=D6=C2=D0=AD=D2=E9=20
                              =
<BR><BR>=B9=AB=BF=AA=C3=DC=D4=BF=C3=DC=C2=EB=CC=E5=D6=C6=B5=C4=B5=EC=BB=F9=
=C8=CBDiffie=BA=CDHellman=CB=F9=CC=E1=B3=F6=B5=C4=20
                              =
"=D6=B8=CA=FD=C3=DC=D4=BF=D2=BB=D6=C2=D0=AD=D2=E9"(Exponential Key =
Agreement=20
                              =
Protocol),=B8=C3=D0=AD=D2=E9=B2=BB=D2=AA=C7=F3=B1=F0=B5=C4=B0=B2=C8=AB=D0=
=D4=20
                              =
=CF=C8=BE=F6=CC=F5=BC=FE,=D4=CA=D0=ED=C1=BD=C3=FB=D3=C3=BB=A7=D4=DA=B9=AB=
=BF=AA=C3=BD=CC=E5=C9=CF=BD=BB=BB=BB=D0=C5=CF=A2=D2=D4=C9=FA=B3=C9"=D2=BB=
=D6=C2"=B5=C4,=BF=C9=D2=D4=B9=B2=CF=ED=B5=C4=C3=DC=D4=BF=A1=A3=D4=DAJCE=B5=
=C4=D6=D0=CA=B5=CF=D6=D3=C3=BB=A7alice=C9=FA=B3=C9DH=C0=E0=D0=CD=B5=C4=C3=
=DC=D4=BF=B6=D4,=C8=E7=B9=FB=B3=A4=B6=C8=D3=C31024=C9=FA=B3=C9=B5=C4=CA=B1=
=BC=E4=C7=EB,=CD=C6=BC=F6=B5=DA=D2=BB=B4=CE=C9=FA=B3=C9=BA=F3=B1=A3=B4=E6=
DHParameterSpec,=D2=D4=B1=E3=CF=C2=B4=CE=CA=B9=D3=C3=D6=B1=BD=D3=B3=F5=CA=
=BC=BB=AF.=CA=B9=C6=E4=CB=D9=B6=C8=BC=D3=BF=EC=20
                              <BR><BR><BR>System.out.println("ALICE: =
=B2=FA=C9=FA DH =B6=D4=20
                              ..."); <BR><BR>KeyPairGenerator =
aliceKpairGen =3D=20
                              KeyPairGenerator.getInstance("DH");=20
                              <BR><BR>aliceKpairGen.initialize(512);=20
                              <BR><BR>KeyPair aliceKpair =3D=20
                              aliceKpairGen.generateKeyPair();=20
                              =
<BR><BR><BR><BR><BR>alice=C9=FA=B3=C9=B9=AB=D4=BF=B7=A2=CB=CD=D7=E9bob =
byte[]=20
                              alicePubKeyEnc =3D=20
                              aliceKpair.getPublic().getEncoded();=20
                              =
<BR><BR><BR><BR><BR>bob=B4=D3alice=B7=A2=CB=CD=C0=B4=B5=C4=B9=AB=D4=BF=D6=
=D0=B6=C1=B3=F6DH=C3=DC=D4=BF=B6=D4=B5=C4=B3=F5=CA=BC=B2=CE=CA=FD=C9=FA=B3=
=C9bob=B5=C4DH=C3=DC=D4=BF=B6=D4=20
                              =
<BR><BR><BR>=D7=A2=D2=E2=D5=E2=D2=BB=B2=BD=D2=BB=B6=A8=D2=AA=D7=F6,=D2=AA=
=B1=A3=D6=A4=C3=BF=B8=F6=D3=C3=BB=A7=D3=C3=CF=E0=CD=AC=B5=C4=B3=F5=CA=BC=B2=
=CE=CA=FD=C9=FA=B3=C9=B5=C4=20
                              <BR><BR>DHParameterSpec dhParamSpec =3D=20
                              ((DHPublicKey)alicePubKey).getParams();=20
                              <BR><BR>KeyPairGenerator bobKpairGen =3D=20
                              KeyPairGenerator.getInstance("DH");=20
                              =
<BR><BR>bobKpairGen.initialize(dhParamSpec);=20
                              <BR><BR>KeyPair bobKpair =3D=20
                              bobKpairGen.generateKeyPair();=20
                              =
<BR><BR><BR><BR><BR>bob=B8=F9=BE=DDalice=B5=C4=B9=AB=D4=BF=C9=FA=B3=C9=B1=
=BE=B5=D8=B5=C4DES=C3=DC=D4=BF=20
                              <BR><BR>KeyAgreement bobKeyAgree =3D=20
                              KeyAgreement.getInstance("DH");=20
                              =
<BR><BR>bobKeyAgree.init(bobKpair.getPrivate());=20
                              <BR><BR>bobKeyAgree.doPhase(alicePubKey, =
true);=20
                              <BR><BR>SecretKey bobDesKey =3D=20
                              bobKeyAgree.generateSecret("DES");=20
                              =
<BR><BR><BR><BR><BR>bob=D2=D1=BE=AD=C9=FA=B3=C9=C1=CB=CB=FB=B5=C4DES=C3=DC=
=D4=BF,=CB=FB=CF=D6=B0=D1=CB=FB=B5=C4=B9=AB=D4=BF=B7=A2=B8=F8alice,=20
                              <BR><BR>byte[] bobPubKeyEnc =3D=20
                              bobKpair.getPublic().getEncoded();=20
                              =
<BR><BR><BR><BR><BR>alice=B8=F9=BE=DDbob=B5=C4=B9=AB=D4=BF=C9=FA=B3=C9=B1=
=BE=B5=D8=B5=C4DES=C3=DC=D4=BF=20
                              <BR><BR>,,,,,,=BD=E2=C2=EB =
<BR><BR>KeyAgreement=20
                              aliceKeyAgree =3D =
KeyAgreem

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -