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

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

📁 JAVA核心源代码及算法,适合入门的初学者,可以让你快的入门
💻 MHT
📖 第 1 页 / 共 5 页
字号:
<BR><BR><BR>=CC=ED=BC=D3=D2=AA=BD=F8=D0=D0=BC=C6=CB=E3=D5=AA=D2=AA=B5=C4=D0=
=C5=CF=A2 <BR><BR><BR>byte[]=20
                              digest()=20
                              =
<BR><BR><BR>=CD=EA=B3=C9=BC=C6=CB=E3,=B7=B5=BB=D8=BC=C6=CB=E3=B5=C3=B5=BD=
=B5=C4=D5=AA=D2=AA(=B6=D4=D3=DAMD5=CA=C716=CE=BB,SHA=CA=C720=CE=BB)=20
                              <BR><BR><BR>void reset() =
<BR><BR><BR>=B8=B4=CE=BB=20
                              <BR><BR><BR>static boolean isEqual(byte[] =
digesta,=20
                              byte[] digestb) =
<BR><BR><BR>=B1=C8=D0=A7=C1=BD=B8=F6=D5=AA=D2=AA=CA=C7=B7=F1=CF=E0=CD=AC =

                              <BR><BR><BR>=B4=FA=C2=EB=A3=BA =
<BR><BR>import java.security.*;=20
                              <BR><BR>public class myDigest { =
<BR><BR>public=20
                              static void main(String[] args) {=20
                              <BR><BR><BR>myDigest my=3Dnew myDigest();=20
                              <BR><BR>my.testDigest(); <BR><BR><BR>}=20
                              <BR><BR>public void testDigest() <BR><BR>{ =

                              <BR><BR>try { <BR><BR>String =
myinfo=3D"=CE=D2=B5=C4=B2=E2=CA=D4=D0=C5=CF=A2";=20
                              <BR><BR><BR>//java.security.MessageDigest=20
                              =
alg=3Djava.security.MessageDigest.getInstance("MD5");=20
                              <BR><BR>java.security.MessageDigest=20
                              =
alga=3Djava.security.MessageDigest.getInstance("SHA-1");=20
                              <BR><BR>alga.update(myinfo.getBytes());=20
                              <BR><BR>byte[] digesta=3Dalga.digest();=20
                              =
<BR><BR>System.out.println("=B1=BE=D0=C5=CF=A2=D5=AA=D2=AA=CA=C7:"+byte2h=
ex(digesta));=20
                              =
<BR><BR>//=CD=A8=B9=FD=C4=B3=D6=D0=B7=BD=CA=BD=B4=AB=B8=F8=C6=E4=CB=FB=C8=
=CB=C4=E3=B5=C4=D0=C5=CF=A2(myinfo)=BA=CD=D5=AA=D2=AA(digesta)=20
                              =
=B6=D4=B7=BD=BF=C9=D2=D4=C5=D0=B6=CF=CA=C7=B7=F1=B8=FC=B8=C4=BB=F2=B4=AB=CA=
=E4=D5=FD=B3=A3=20
                              <BR><BR>java.security.MessageDigest=20
                              =
algb=3Djava.security.MessageDigest.getInstance("SHA-1");=20
                              <BR><BR>algb.update(myinfo.getBytes()); =
<BR><BR>if=20
                              (algb.isEqual(digesta,algb.digest())) {=20
                              =
<BR><BR>System.out.println("=D0=C5=CF=A2=BC=EC=B2=E9=D5=FD=B3=A3"); =
<BR><BR>}=20
                              <BR><BR>else <BR><BR>{=20
                              =
<BR><BR>System.out.println("=D5=AA=D2=AA=B2=BB=CF=E0=CD=AC"); <BR><BR>}=20
                              <BR><BR><BR>} <BR><BR>catch=20
                              (java.security.NoSuchAlgorithmException =
ex) {=20
                              =
<BR><BR>System.out.println("=B7=C7=B7=A8=D5=AA=D2=AA=CB=E3=B7=A8"); =
<BR><BR>}=20
                              <BR><BR><BR>} <BR><BR>public String=20
                              byte2hex(byte[] b) =
//=B6=FE=D0=D0=D6=C6=D7=AA=D7=D6=B7=FB=B4=AE <BR><BR>{=20
                              <BR><BR>String hs=3D""; <BR><BR>String =
stmp=3D"";=20
                              <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.3.=20
                              =CA=FD=D7=D6=C7=A9=C3=FBDSA =
<BR><BR><BR>=B6=D4=D3=DA=D2=BB=B8=F6=D3=C3=BB=A7=C0=B4=BD=B2=CA=D7=CF=C8=D2=
=AA=C9=FA=B3=C9=CB=FB=B5=C4=C3=DC=D4=BF=B6=D4,=B2=A2=C7=D2=B7=D6=B1=F0=B1=
=A3=B4=E6=20
                              =
<BR><BR>=C9=FA=B3=C9=D2=BB=B8=F6KeyPairGenerator=CA=B5=C0=FD=20
                              <BR><BR>java.security.KeyPairGenerator=20
                              =
keygen=3Djava.security.KeyPairGenerator.getInstance("DSA");=20
                              =
<BR><BR>=C8=E7=B9=FB=C9=E8=B6=A8=CB=E6=BB=FA=B2=FA=C9=FA=C6=F7=BE=CD=D3=C3=
=C8=E7=CF=E0=B4=FA=C2=EB=B3=F5=CA=BC=BB=AF <BR><BR>SecureRandom=20
                              secrand=3Dnew SecureRandom();=20
                              =
<BR><BR>secrand.setSeed("tttt".getBytes());=20
                              =
//=B3=F5=CA=BC=BB=AF=CB=E6=BB=FA=B2=FA=C9=FA=C6=F7 =
<BR><BR>keygen.initialize(512,secrand);=20
                              =
//=B3=F5=CA=BC=BB=AF=C3=DC=D4=BF=C9=FA=B3=C9=C6=F7 <BR><BR>=B7=F1=D4=F2=20
                              <BR><BR>keygen.initialize(512);=20
                              =
<BR><BR>=C9=FA=B3=C9=C3=DC=D4=BF=B9=AB=D4=BFpubkey=BA=CD=CB=BD=D4=BFprike=
y <BR><BR>KeyPair=20
                              keys=3Dkeygen.generateKeyPair(); =
//=C9=FA=B3=C9=C3=DC=D4=BF=D7=E9=20
                              <BR><BR>PublicKey =
pubkey=3Dkeys.getPublic();=20
                              <BR><BR>PrivateKey =
prikey=3Dkeys.getPrivate();=20
                              =
<BR><BR>=B7=D6=B1=F0=B1=A3=B4=E6=D4=DAmyprikey.dat=BA=CDmypubkey.dat=D6=D0=
,=D2=D4=B1=E3=CF=C2=B4=CE=B2=BB=D4=DA=C9=FA=B3=C9=20
                              =
<BR><BR>(=C9=FA=B3=C9=C3=DC=D4=BF=B6=D4=B5=C4=CA=B1=BC=E4=B1=C8=BD=CF=B3=A4=
=20
                              <BR><BR>java.io.ObjectOutputStream =
out=3Dnew=20
                              java.io.ObjectOutputStream(new=20
                              java.io.FileOutputStream("myprikey.dat")); =

                              <BR><BR>out.writeObject(prikey);=20
                              <BR><BR>out.close(); <BR><BR>out=3Dnew=20
                              java.io.ObjectOutputStream(new=20
                              java.io.FileOutputStream("mypubkey.dat")); =

                              <BR><BR>out.writeObject(pubkey);=20
                              <BR><BR>out.close();=20
                              =
<BR><BR><BR><BR><BR><BR>=D3=C3=CB=FB=CB=BD=C8=CB=C3=DC=D4=BF(prikey)=B6=D4=
=CB=FB=CB=F9=C8=B7=C8=CF=B5=C4=D0=C5=CF=A2(info)=BD=F8=D0=D0=CA=FD=D7=D6=C7=
=A9=C3=FB=B2=FA=C9=FA=D2=BB=B8=F6=C7=A9=C3=FB=CA=FD=D7=E9=20
                              =
<BR><BR>=B4=D3=CE=C4=BC=FE=D6=D0=B6=C1=C8=EB=CB=BD=C8=CB=C3=DC=D4=BF(prik=
ey)=20
                              <BR><BR>java.io.ObjectInputStream in=3Dnew =

                              java.io.ObjectInputStream(new=20
                              java.io.FileInputStream("myprikey.dat"));=20
                              <BR><BR>PrivateKey=20
                              myprikey=3D(PrivateKey)in.readObject();=20
                              <BR><BR>in.close();=20
                              =
<BR><BR>=B3=F5=CA=BC=D2=BB=B8=F6Signature=B6=D4=CF=F3,=B2=A2=D3=C3=CB=BD=D4=
=BF=B6=D4=D0=C5=CF=A2=C7=A9=C3=FB=20
                              <BR><BR>java.security.Signature=20
                              =
signet=3Djava.security.Signature.getInstance("DSA");=20
                              <BR><BR>signet.initSign(myprikey);=20
                              <BR><BR>signet.update(myinfo.getBytes());=20
                              <BR><BR>byte[] signed=3Dsignet.sign();=20
                              =
<BR><BR>=B0=D1=D0=C5=CF=A2=BA=CD=C7=A9=C3=FB=B1=A3=B4=E6=D4=DA=D2=BB=B8=F6=
=CE=C4=BC=FE=D6=D0(myinfo.dat)=20
                              <BR><BR>java.io.ObjectOutputStream =
out=3Dnew=20
                              java.io.ObjectOutputStream(new=20
                              java.io.FileOutputStream("myinfo.dat"));=20
                              <BR><BR>out.writeObject(myinfo);=20
                              <BR><BR>out.writeObject(signed);=20
                              <BR><BR>out.close(); =
<BR><BR>=B0=D1=CB=FB=B5=C4=B9=AB=D4=BF=B5=C4=D0=C5=CF=A2=BC=B0=C7=A9=C3=FB=
=B7=A2=B8=F8=C6=E4=CB=FC=D3=C3=BB=A7=20
                              =
<BR><BR><BR><BR><BR><BR>=C6=E4=CB=FB=D3=C3=BB=A7=D3=C3=CB=FB=B5=C4=B9=AB=B9=
=B2=C3=DC=D4=BF(pubkey)=BA=CD=C7=A9=C3=FB(signed)=BA=CD=D0=C5=CF=A2(info)=
=BD=F8=D0=D0=D1=E9=D6=A4=CA=C7=B7=F1=D3=C9=CB=FB=C7=A9=C3=FB=B5=C4=D0=C5=CF=
=A2=20
                              <BR><BR>=B6=C1=C8=EB=B9=AB=D4=BF =
<BR><BR>java.io.ObjectInputStream=20
                              in=3Dnew java.io.ObjectInputStream(new=20
                              java.io.FileInputStream("mypubkey.dat"));=20
                              <BR><BR>PublicKey=20
                              pubkey=3D(PublicKey)in.readObject();=20
                              <BR><BR>in.close(); =
<BR><BR><BR>=B6=C1=C8=EB=C7=A9=C3=FB=BA=CD=D0=C5=CF=A2=20
                              <BR><BR>in=3Dnew =
java.io.ObjectInputStream(new=20
                              java.io.FileInputStream("myinfo.dat"));=20
                              <BR><BR>String =
info=3D(String)in.readObject();=20
                              <BR><BR>byte[] =
signed=3D(byte[])in.readObject();=20
                              <BR><BR>in.close();=20
                              =
<BR><BR><BR>=B3=F5=CA=BC=D2=BB=B8=F6Signature=B6=D4=CF=F3,=B2=A2=D3=C3=B9=
=AB=D4=BF=BA=CD=C7=A9=C3=FB=BD=F8=D0=D0=D1=E9=D6=A4=20
                              <BR><BR>java.security.Signature=20
                              =
signetcheck=3Djava.security.Signature.getInstance("DSA");=20
                              <BR><BR>signetcheck.initVerify(pubkey);=20
                              =
<BR><BR>signetcheck.update(info.getBytes());=20
                              <BR><BR><BR>if =
(signetcheck.verify(signed)) {=20
                              =
System.out.println("=C7=A9=C3=FB=D5=FD=B3=A3");}=20
                              =
<BR><BR><BR>=B6=D4=D3=DA=C3=DC=D4=BF=B5=C4=B1=A3=B4=E6=B1=BE=CE=C4=CA=C7=D3=
=C3=B6=D4=CF=F3=C1=F7=B5=C4=B7=BD=CA=BD=B1=A3=B4=E6=BA=CD=B4=AB=CB=CD=B5=C4=
,=D2=B2=BF=C9=BF=C9=D2=D4=D3=C3=B1=E0=C2=EB=B5=C4=B7=BD=CA=BD=B1=A3=B4=E6=
.=D7=A2=D2=E2=D2=AA=20
                              <BR><BR>import java.security.spec.* =
<BR><BR>import=20
                              java.security.* =
<BR><BR><BR>=BE=DF=D0=DD=CB=B5=C3=F7=C8=E7=CF=C2=20
                              <BR><BR><BR>public =
key=CA=C7=D3=C3X.509=B1=E0=C2=EB=B5=C4,=C0=FD=C2=EB=C8=E7=CF=C2:=20
                              <BR><BR>byte[]=20
                              bobEncodedPubKey=3Dmypublic.getEncoded(); =
//=C9=FA=B3=C9=B1=E0=C2=EB=20
                              =
<BR><BR>//=B4=AB=CB=CD=B6=FE=BD=F8=D6=C6=B1=E0=C2=EB =
<BR><BR>//=D2=D4=CF=C2=B4=FA=C2=EB=D7=AA=BB=BB=B1=E0=C2=EB=CE=AA=CF=E0=D3=
=A6key=B6=D4=CF=F3=20
                              <BR><BR>X509EncodedKeySpec bobPubKeySpec =
=3D new=20
                              X509EncodedKeySpec(bobEncodedPubKey);=20
                              <BR><BR>KeyFactory keyFactory =3D=20
                              KeyFactory.getInstance("DSA"); =
<BR><BR>PublicKey=20
                              bobPubKey =3D=20
                              keyFactory.generatePublic(bobPubKeySpec);=20
                              <BR><BR><BR><BR><BR>=B6=D4=D3=DAPrivate =
key=CA=C7=D3=C3PKCS#8=B1=E0=C2=EB,=C0=FD=C2=EB=C8=E7=CF=C2:=20
                              <BR><BR>byte[] =
bPKCS=3Dmyprikey.getEncoded();=20
                              =
<BR><BR>//=B4=AB=CB=CD=B6=FE=BD=F8=D6=C6=B1=E0=C2=EB =
<BR><BR>//=D2=D4=CF=C2=B4=FA=C2=EB=D7=AA=BB=BB=B1=E0=C2=EB=CE=AA=CF=E0=D3=
=A6key=B6=D4=CF=F3=20
                              <BR><BR>PKCS8EncodedKeySpec priPKCS8=3Dnew =

                              PKCS8EncodedKeySpec(bPKCS); =
<BR><BR>KeyFactory=20
                              keyf=3DKeyFactory.getInstance("DSA");=20
                              <BR><BR>PrivateKey=20
                              =
otherprikey=3Dkeyf.generatePrivate(priPKCS8);=20
                              <BR><BR><BR><BR><BR><BR>=B3=A3=D3=C3API=20
                              <BR><BR>java.security.KeyPairGenerator =
=C3=DC=D4=BF=C9=FA=B3=C9=C6=F7=C0=E0=20
                              <BR><BR>public static KeyPairGenerator=20
                              getInstance(String algorithm) throws=20
                              NoSuchAlgorithmException=20
                              =
<BR><BR>=D2=D4=D6=B8=B6=A8=B5=C4=CB=E3=B7=A8=B7=B5=BB=D8=D2=BB=B8=F6KeyPa=
irGenerator =B6=D4=CF=F3 <BR><BR>=B2=CE=CA=FD:=20
                              algorithm =
=CB=E3=B7=A8=C3=FB.=C8=E7:"DSA","RSA" <BR><BR><BR>public=20
                              void initialize(int keysize)=20
                              =
<BR><BR><BR><BR>=D2=D4=D6=B8=B6=A8=B5=C4=B3=A4=B6=C8=B3=F5=CA=BC=BB=AFKey=
PairGenerator=B6=D4=CF=F3,=C8=E7=B9=FB=C3=BB=D3=D0=B3=F5=CA=BC=BB=AF=CF=B5=
=CD=B3=D2=D41024=B3=A4=B6=C8=C4=AC=C8=CF=C9=E8=D6=C3=20
                              <BR><BR><BR><BR>=B2=CE=CA=FD:keysize =
=CB=E3=B7=A8=CE=BB=B3=A4.=C6=E4=B7=B6=CE=A7=B1=D8=D0=EB=D4=DA 512 =B5=BD =
1024=20
                              =D6=AE=BC=E4=A3=AC=C7=D2=B1=D8=D0=EB=CE=AA =
64 =B5=C4=B1=B6=CA=FD <BR><BR><BR>public void=20
                              initialize(int keysize, SecureRandom =
random)=20
                              =
<BR><BR>=D2=D4=D6=B8=B6=A8=B5=C4=B3=A4=B6=C8=B3=F5=CA=BC=BB=AF=BA=CD=CB=E6=
=BB=FA=B7=A2=C9=FA=C6=F7=B3=F5=CA=BC=BB=AFKeyPairGenerator=B6=D4=CF=F3=20

⌨️ 快捷键说明

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