📄 一个用java开发的会话密钥程序,可能对你有所帮助.mht
字号:
<OPTION=20
=
value=3Dhttp://www.cn-java.com/index_focus.php?kind=3D15&title=3DAppl=
et=D3=EBSwing>|-Applet=D3=EBSwing</OPTION>=20
<OPTION=20
=
value=3Dhttp://www.cn-java.com/index_focus.php?kind=3D13&title=3D=CA=FD=
=BE=DD=BF=E2=D7=A8=CC=E2>|-=CA=FD=BE=DD=BF=E2=D7=A8=CC=E2</OPTION>=20
<OPTION=20
=
value=3Dhttp://www.cn-java.com/index_focus.php?kind=3D22&title=3DJava=
Mail>|-JavaMail</OPTION>=20
<OPTION=20
=
value=3Dhttp://www.cn-java.com/index_focus.php?kind=3D18&title=3DJava=
=D6=C7=C4=DC=BF=A8>|-Java=D6=C7=C4=DC=BF=A8</OPTION>=20
<OPTION=20
=
value=3Dhttp://www.cn-java.com/index_focus.php?kind=3D35&title=3DJ2ME=
>|-J2ME</OPTION>=20
<OPTION=20
=
value=3Dhttp://www.cn-java.com/index_focus.php?kind=3D19&title=3DWAP=D3=
=A6=D3=C3=BC=BC=CA=F5>|-WAP=D3=A6=D3=C3=BC=BC=CA=F5</OPTION>=20
<OPTION=20
=
value=3Dhttp://www.cn-java.com/index_focus.php?kind=3D04&title=3DJava=
=C8=CF=D6=A4=BF=BC=CA=D4>|-Java=C8=CF=D6=A4=BF=BC=CA=D4</OPTION>=20
<OPTION=20
=
value=3Dhttp://www.cn-java.com/index_focus.php?kind=3D36&title=3D=C9=E8=
=BC=C6=C4=A3=CA=BD>|-=C9=E8=BC=C6=C4=A3=CA=BD</OPTION>=20
<OPTION =
value=3Dhttp://www.cn-java.com/qikan/list.php>+=B5=E7=D7=D3=C6=DA=BF=AF</=
OPTION>=20
<OPTION>+=BB=E1=D4=B1=B9=DC=C0=ED</OPTION> <OPTION=20
=
value=3Dhttp://www.cn-java.com/index_user_center.php>|-=BB=E1=D4=B1=B9=DC=
=C0=ED=D6=D0=D0=C4</OPTION>=20
<OPTION=20
=
value=3Dhttp://www.cn-java.com/postMain.php>|-=CE=D2=B5=C4=CE=C4=D5=C2=D6=
=D0=D0=C4</OPTION>=20
<OPTION=20
=
value=3Dhttp://www.cn-java.com/webteam/>|-JWT=B3=C9=D4=B1</OPTION></SELEC=
T>=20
</FONT></FONT></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"98%" =
align=3Dcenter=20
bgColor=3D#ffffff border=3D0>
<TBODY>
<TR>
<TD vAlign=3Dtop align=3Dmiddle height=3D69>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" =
bgColor=3D#ffffff=20
border=3D0>
<TBODY>
<TR>
<TD vAlign=3Dtop height=3D69>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"95%" =
align=3Dcenter=20
border=3D0>
<TBODY>
<TR>
<TD width=3D"99%">
<TD width=3D"1%">
<TR>
<TD width=3D"99%"><BR>
<P><FONT face=3D"=CB=CE=CC=E5,Arial, Helvetica, =
sans-serif"=20
color=3D#000000 size=3D2></FONT><FONT=20
face=3D"=BA=DA=CC=E5,Arial, Helvetica, =
sans-serif" color=3D#000000=20
=
size=3D4>=D2=BB=B8=F6=D3=C3JAVA=BF=AA=B7=A2=B5=C4=BB=E1=BB=B0=C3=DC=D4=BF=
=B3=CC=D0=F2,=BF=C9=C4=DC=B6=D4=C4=E3=D3=D0=CB=F9=B0=EF=D6=FA =
</FONT><FONT color=3Dgray=20
size=3D1>=D4=C4=B6=C1=B4=CE=CA=FD2577</FONT>=20
<P align=3Dright>=B3=F6=B4=A6=20
=
CN-JAVA=D4=AD=B4=B4=A3=BAliufeng12311231 </P=
>
<P></P>
<HR noShade>
<TABLE cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
border=3D0>
<TBODY>
<TR>
<TD vAlign=3Dtop width=3D"86%">//package=20
=
<BR>/*<BR>=D4=CB=D0=D0=B1=BE=B3=CC=D0=F2=C4=E3=D0=E8=D2=AA=CF=C2=D4=D8JCE=
=A3=ACBouncy Castle=B5=C4JCE with=20
Provider and Lightweight =
API<BR>=CD=F8=D6=B9=CA=C7=20
http://www.bouncycastle.org=20
=
<BR>=C5=E4=D6=C3=C8=E7=CF=C2=A3=BA<BR>=D4=DAWINDOWS=D6=D0=A3=AC=C4=E3=D0=E8=
=D2=AA=B0=D1=CF=C2=D4=D8=B5=C4bcprov-jdk14-119.jar=CE=C4=BC=FE=BF=BD=B1=B4=
=B5=BD=C1=BD=B8=F6=B5=D8=B7=BD=A3=BA<BR>=D2=BB=B8=F6=D4=DA=C4=E3=B0=B2=D7=
=B0=B5=C4JDK=C4=BF=C2=BC=D6=D0=A3=AC=B1=C8=C8=E7=CB=B5=CE=D2=B5=C4=CA=C7C=
:\j2sdk1.4.0-rc\jre\lib\ext<BR>=C1=ED=D2=BB=B8=F6=D4=DA=C4=E3=B5=C4JDK=D4=
=CB=D0=D0=BB=B7=BE=B3=D6=D0=A3=AC=CE=D2=B5=C4=CA=C7=D4=DA<BR>C:\Program=20
=
Files\Java\j2re1.4.0-rc\lib\ext=A3=BB<BR>=C1=ED=CD=E2=BB=B9=D2=AA=D4=DA=B6=
=D4=C1=BD=B8=F6java.security=BD=F8=D0=D0=D0=DE=B8=C4=A3=BA<BR>=CE=D2=B5=C4=
=D4=DA=20
=
C:\j2sdk1.4.0-rc\jre\lib\security\java.security=A3=BB<BR>C:\Program=20
=
Files\Java\j2re1.4.0-rc\lib\security\java.security;<BR>=D4=DAjava.securit=
y=D6=D0=BC=D3=C8=EB=20
=
security.provider.6=3Dorg.bouncycastle.jce.provider.BouncyCastleProvider =
=
<BR>=C8=E7=B9=FB=D2=BB=C7=D0=CB=B3=C0=FB=A3=AC=C4=E3=BE=CD=BF=C9=D2=D4=D4=
=CB=D0=D0=B1=BE=B3=CC=D0=F2=C1=CB=A1=A3<BR><BR>=B8=C3=B3=CC=D0=F2=BE=DF=D3=
=D0=B6=D4=C4=E3=B5=C4=CE=C4=BC=FE=BC=D3=BD=E2=C3=DC=B9=A6=C4=DC=A1=A3=D0=E8=
=D2=AA=C4=E3=D6=B8=B6=A8=B5=C4=CA=FD=BE=DD=A3=AC=B3=CC=D0=F2=D6=D0=D2=D1=B8=
=F8=C1=CB=BD=D3=BF=DA=A1=A3<BR>=B1=C8=C8=E7=CB=B5=C4=E3=D6=B8=B6=A8=C1=CB=
=D2=AA=BC=D3=C3=DC=B5=C4=CE=C4=BC=FE=C3=FB"4.txt",=BC=D3=C3=DC=BA=F3=B5=C4=
=CE=C4=BC=FE=B4=E6=B7=C5=CE=BB=D6=C3"6.txt",<BR>=BB=B9=D3=D0=BF=DA=C1=EEp=
assword=C8=E7"liufeng"=BA=F3=A3=AC=D4=CB=D0=D0=B8=C3=B3=CC=D0=F2=A3=AC=C4=
=C7=C3=B4"6.txt"=20
=
=D6=D0=BD=AB=CA=C7"4.txt"=B5=C4=C3=DC=CE=C4=A1=A3<BR>=D7=A2=D2=E2=BF=DA=C1=
=EE=CA=C7=BD=E2=C3=DC=B5=C4=D4=BF=B3=D7=A3=AC=B2=BB=D2=AA=CD=FC=BC=C7=A1=A3=
<BR>=C6=E4=CB=FB=BD=E2=C3=DC=B9=FD=B3=CC=D7=D4=BC=BA=B2=CE=BF=BC=A1=A3<BR=
><BR>=B1=BE=B3=CC=D0=F2=C0=FB=D3=C3=BB=E1=BB=B0=C3=DC=D4=BF=BC=D3=C3=DC=A3=
=AC=CC=E1=B9=A9=BA=DC=B6=E0=BD=D3=BF=DA=A1=A3=C8=E7=B9=FB=C4=E3=CF=EE=C4=BF=
=D6=D0=D0=E8=D2=AA=BC=D3=C3=DC=B9=FD=B3=CC=A3=AC=BF=C9=D2=D4=C9=D4=BC=D3=B8=
=C4=BD=F8=CE=AA=C4=E3=CB=F9=D3=C3<BR>*/<BR>import=20
java.security.*;<BR>import=20
java.security.spec.*;<BR>import=20
javax.crypto.*;<BR>import=20
javax.crypto.spec.*;<BR>import=20
java.io.*;<BR>import=20
java.util.*;<BR><BR><BR>public class=20
FileEncryptorRSA {<BR><BR><BR>private =
static final=20
int =
ITERATIONS=3D1000;//=BC=C6=CB=E3=B4=CE=CA=FD=A3=AC=D4=DA=BC=D3=D1=CE=D6=D0=
=D3=C3=B5=BD<BR>private=20
static byte[] =
publicKeyBytes;//=B9=AB=D4=BF<BR>private=20
static byte[] =
privateKeyBytes;//=CB=BD=D4=BF<BR>private=20
static String =
SessionKey;//=BB=E1=BB=B0=C3=DC=D4=BF<BR>public static=20
String=20
=
ENCRYPT_PRIVATEKEY_FILE=3D"1.txt";//=B8=C3=CE=C4=BC=FE=B7=C5=D6=C3=BC=D3=C3=
=DC=B5=C4=CB=BD=D4=BF=20
<BR>private static String=20
=
TEXT_FILE=3D"4.txt";//=D2=AA=BC=D3=C3=DC=B5=C4=CE=C4=BC=FE<BR>private =
static=20
String=20
=
ENCRPTOR_TEXT_FILE=3D"5.txt";//=B1=BB=BC=D3=C3=DC=BA=F3=B5=C4=CE=C4=BC=FE=
<BR>private=20
static String=20
=
DENCRYPTOR_TEXT_FILE=3D"6.txt";//=BD=E2=C3=DC=BA=F3=B5=C4=CE=C4=BC=FE<BR>=
private=20
static String=20
=
password=3D"liufeng";//=BF=DA=C1=EE=D3=C3=D3=DA=BC=D3=C3=DC=CB=BD=D4=BF<B=
R><BR><BR>public=20
void setTEXT_FILE(String=20
=
fileName){<BR>TEXT_FILE=3DfileName;<BR>}<BR>public=20
void setENCRYPT_PRIVATEKEY_FILE(String=20
=
fileName){<BR>ENCRYPT_PRIVATEKEY_FILE=3DfileName;<BR>}<BR>public=20
String =
getENCRYPT_PRIVATEKEY_FILE(){<BR>return=20
=
ENCRYPT_PRIVATEKEY_FILE;<BR>}<BR><BR>public void=20
setENCRPTOR_TEXT_FILE(String=20
=
fileName){<BR>ENCRPTOR_TEXT_FILE=3DfileName;<BR>}<BR>public=20
String getENCRPTOR_TEXT_FILE(){<BR>return=20
ENCRPTOR_TEXT_FILE;<BR>}<BR>public void=20
setDENCRYPTOR_TEXT_FILE(String=20
=
fileName){<BR>DENCRYPTOR_TEXT_FILE=3DfileName;<BR>}<BR>public=20
String =
getDENCRYPTOR_TEXT_FILE(){<BR>return=20
DENCRYPTOR_TEXT_FILE;<BR>}<BR>public void=20
setPassword(String=20
=
password){<BR>this.password=3Dpassword;<BR>}<BR><BR><BR>//create=20
a RSA secretKey<BR>public static void=20
createKey()throws =
Exception{<BR>KeyPairGenerator=20
=
keyPairGenerator=3DKeyPairGenerator.getInstance("RSA");<BR>keyPairGenerat=
or.initialize(1024);<BR>KeyPair=20
=
keyPair=3DkeyPairGenerator.genKeyPair();<BR>//=B5=C3=B5=BD=B9=AB=D4=BF=B5=
=C4=D7=D6=BD=DA=CA=FD=D7=E9<BR>publicKeyBytes=3DkeyPair.getPublic().getEn=
coded();<BR>//=B5=C3=B5=BD=CB=BD=D4=BF<BR>byte[]=20
=
privateKeyBytes=3DkeyPair.getPrivate().getEncoded();<BR>byte[]=20
=
encrytedPrivatekey=3DpasswordEncrypt(password.toCharArray(),privateKeyByt=
es);<BR>FileOutputStream=20
fos=3Dnew=20
=
FileOutputStream(ENCRYPT_PRIVATEKEY_FILE);<BR>fos.write(encrytedPrivateke=
y);<BR>fos.close();<BR>}<BR><BR><BR><BR>//=CD=A8=B9=FD=B8=F8=B5=C4=BF=DA=C1=
=EE=BC=D3=C3=DC=CB=BD=D4=BF<BR>private=20
static byte[] passwordEncrypt(char[]=20
password,byte[] privateKeyBytes)<BR>throws =
Exception{<BR>//create 8 byte salt =
<BR>byte[]=20
salt=3Dnew byte[8];<BR>Random random=3Dnew =
=
Random();<BR>random.nextBytes(salt);<BR>//create a=20
PBE key and cipher<BR>PBEKeySpec =
keySpec=3Dnew=20
PBEKeySpec(password);<BR>SecretKeyFactory=20
=
keyFactory=3DSecretKeyFactory.getInstance("PBEWithSHAAndTwofish-CBC");<BR=
>SecretKey=20
=
key=3DkeyFactory.generateSecret(keySpec);<BR>PBEParameterSpec=20
paramSpec=3Dnew=20
=
PBEParameterSpec(salt,ITERATIONS);<BR>Cipher=20
=
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -