夢幻之旅
DEBUG - 天道酬勤
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
<
2010年5月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
公告
本博客中未注原創(chuàng)的文章均為轉(zhuǎn)載,對轉(zhuǎn)載內(nèi)容可能做了些修改和增加圖片注釋,如果侵犯了您的版權(quán),或沒有注明原作者,請諒解
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(21)
給我留言
查看公開留言
查看私人留言
隨筆分類
(644)
Android(10)
(rss)
ANT(4)
(rss)
C#(10)
(rss)
C/C++(16)
(rss)
CSS(3)
(rss)
DataBase(119)
(rss)
DB-DailyMmaintenance(16)
(rss)
Design Patterns(27)
(rss)
english
(rss)
Exceptions(7)
(rss)
EXT(39)
(rss)
FLASH(9)
(rss)
Hardware(20)
(rss)
Hibernate(13)
(rss)
Html(23)
(rss)
Java(143)
(rss)
java Net(10)
(rss)
JavaScript(39)
(rss)
Linux(26)
(rss)
php(5)
(rss)
Regular Exp(3)
(rss)
Spring(17)
(rss)
Struts(12)
(rss)
TOOL(43)
(rss)
VB/VBA/VBS(5)
(rss)
webservice(9)
(rss)
XML(2)
(rss)
我的夢幻旅途(14)
(rss)
隨筆檔案
(669)
2017年9月 (4)
2016年10月 (1)
2015年6月 (1)
2015年4月 (2)
2015年1月 (1)
2014年8月 (2)
2014年7月 (9)
2014年6月 (1)
2014年5月 (2)
2014年4月 (3)
2014年3月 (3)
2013年10月 (4)
2013年9月 (8)
2013年8月 (4)
2013年6月 (3)
2013年5月 (4)
2013年4月 (7)
2013年3月 (1)
2013年1月 (3)
2012年12月 (4)
2012年11月 (1)
2012年10月 (1)
2012年9月 (4)
2012年8月 (1)
2012年7月 (2)
2012年6月 (1)
2012年5月 (4)
2012年4月 (2)
2012年3月 (1)
2012年2月 (4)
2012年1月 (6)
2011年12月 (10)
2011年11月 (7)
2011年10月 (6)
2011年9月 (37)
2011年8月 (34)
2011年7月 (44)
2011年6月 (10)
2011年5月 (5)
2011年4月 (3)
2011年3月 (1)
2011年2月 (1)
2011年1月 (18)
2010年12月 (9)
2010年11月 (13)
2010年10月 (17)
2010年9月 (2)
2010年8月 (10)
2010年7月 (10)
2010年6月 (5)
2010年5月 (8)
2010年4月 (9)
2010年3月 (11)
2010年2月 (3)
2010年1月 (8)
2009年12月 (6)
2009年11月 (10)
2009年10月 (5)
2009年9月 (1)
2009年8月 (18)
2009年7月 (6)
2009年6月 (2)
2009年5月 (1)
2009年4月 (4)
2009年3月 (6)
2009年2月 (5)
2009年1月 (3)
2008年12月 (13)
2008年11月 (13)
2008年10月 (30)
2008年9月 (9)
2008年8月 (24)
2008年7月 (17)
2008年6月 (15)
2008年5月 (16)
2008年4月 (15)
2008年3月 (19)
2008年2月 (3)
2008年1月 (20)
2007年12月 (24)
2007年11月 (9)
文章檔案
(6)
2008年4月 (1)
2008年3月 (1)
2008年1月 (2)
2007年11月 (2)
最新隨筆
1.?PP代碼生成器(四) 使用解決方案生成代碼
2.? PP代碼生成器(三) 設(shè)計freemarker模板, 創(chuàng)建解決方案
3.? PP代碼生成器(二) 解決方案, 生成任務(wù), 輔助設(shè)計面板
4.? PP代碼生成器(一) 簡介, 下載, 運行
5.?PP持久層代碼生成器
6.?比較好的博客
7.?系統(tǒng)集成項目管理工程師
8.?軟件公司項目經(jīng)理崗位職責(zé)
9.?聯(lián)想筆記本 顯示屏 鍵盤失靈 釋放靜電
10.?eclipse maven
積分與排名
積分 - 960775
排名 - 37
最新評論
1.?re: Myeclipse 快捷鍵大全(絕對全)
crl+向右箭頭(輸入法有問題打不出來)移到下一個參數(shù)的位置,然后crl+shift+向右箭頭 選中該位置的參數(shù)即可
--紅領(lǐng)巾
2.?re: Log4j基本使用方法
555
--555
3.?re: Myeclipse 快捷鍵大全(絕對全)[未登錄]
很不錯,謝謝
--銀狐
4.?re: Flex 表單
是誰這么無聊~嗚~~~
--HUIKK
5.?re: Spring AfterReturning 異常
具體是什么意思啊
--dingli
閱讀排行榜
1.?Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream(70034)
2.?log4j.properties 使用說明(42086)
3.?Myeclipse 快捷鍵大全(絕對全)(32737)
4.?TNSNAMES.ORA 配置(24399)
5.?oracle 樹狀查詢(21366)
評論排行榜
1.?Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream(53)
2.?JMail 異常: java.lang.NoClassDefFoundError: javax/activation/DataSource(21)
3.?javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first(14)
4.?java 讀取 excel 2003 或 excel 2007(14)
5.?java.lang.UnsupportedClassVersionError: Bad version number in .class file(8)
非對稱加密
package
com.roadway.sms.dao.test;
import
java.security.KeyFactory;
import
java.security.KeyPair;
import
java.security.KeyPairGenerator;
import
java.security.PrivateKey;
import
java.security.PublicKey;
import
java.security.spec.PKCS8EncodedKeySpec;
import
java.security.spec.X509EncodedKeySpec;
import
javax.crypto.Cipher;
public
class
RSAUtil
{
public
static
void
main(String[] args)
throws
Exception
{
String[] ppk
=
RSAUtil.getKeyPair();
System.out.println(
"
公鑰:
"
+
ppk[
0
]);
System.out.println(
"
私鑰:
"
+
ppk[
1
]);
String content
=
"
123456惠萬鵬~!@#$%^&*()_+|
"
;
System.out.println(
"
原字符串:
"
+
content);
String encryptStr
=
RSAUtil.encrypt(ppk[
0
], content);
System.out.println(
"
加密后字符串:
"
+
encryptStr);
String decryptStr
=
RSAUtil.decrypt(ppk[
1
], encryptStr);
System.out.println(
"
解密后字符串:
"
+
decryptStr);
}
public
static
String[] getKeyPair()
{
String[] publicPrivateKey
=
{
null
,
null
}
;
try
{
KeyPairGenerator keyPairGenerator
=
KeyPairGenerator.getInstance(
"
RSA
"
);
keyPairGenerator.initialize(
1024
);
KeyPair keyPair
=
keyPairGenerator.genKeyPair();
publicPrivateKey[
0
]
=
parseByte2HexStr(keyPair.getPublic().getEncoded());
publicPrivateKey[
1
]
=
parseByte2HexStr(keyPair.getPrivate().getEncoded());
}
catch
(Exception ex)
{
ex.printStackTrace();
}
return
publicPrivateKey;
}
public
static
String encrypt(String publicKeyCode, String content)
{
String encryptRes
=
null
;
try
{
Cipher cipher
=
Cipher.getInstance(
"
RSA
"
);
X509EncodedKeySpec keySpec
=
new
X509EncodedKeySpec(RSAUtil.parseHexStr2Byte(publicKeyCode));
KeyFactory keyFactory
=
KeyFactory.getInstance(
"
RSA
"
);
PublicKey pubKey
=
keyFactory.generatePublic(keySpec);
cipher.init(Cipher.ENCRYPT_MODE, pubKey);
byte
[] publicKeyEncryptText
=
cipher.doFinal(content.getBytes());
encryptRes
=
parseByte2HexStr(publicKeyEncryptText);
}
catch
(Exception ex)
{
ex.printStackTrace();
}
return
encryptRes;
}
public
static
String decrypt(String privateKeyCode, String content)
{
String decryptRes
=
null
;
try
{
Cipher cipher
=
Cipher.getInstance(
"
RSA
"
);
PKCS8EncodedKeySpec pkcs8KeySpec
=
new
PKCS8EncodedKeySpec(RSAUtil.parseHexStr2Byte(privateKeyCode));
KeyFactory keyFactory2
=
KeyFactory.getInstance(
"
RSA
"
);
PrivateKey priKey
=
keyFactory2.generatePrivate(pkcs8KeySpec);
cipher.init(Cipher.DECRYPT_MODE, priKey);
byte
[] privateKeyDecryptText
=
cipher.doFinal(RSAUtil.parseHexStr2Byte(content));
decryptRes
=
new
String(privateKeyDecryptText);
}
catch
(Exception ex)
{
ex.printStackTrace();
}
return
decryptRes;
}
private
static
String parseByte2HexStr(
byte
buf[])
{
StringBuffer sb
=
new
StringBuffer();
for
(
int
i
=
0
; i
<
buf.length; i
++
)
{
String hex
=
Integer.toHexString(buf[i]
&
0xFF
);
if
(hex.length()
==
1
)
{
hex
=
'
0
'
+
hex;
}
sb.append(hex.toUpperCase());
}
return
sb.toString();
}
private
static
byte
[] parseHexStr2Byte(String hexStr)
{
if
(hexStr.length()
<
1
)
return
null
;
byte
[] result
=
new
byte
[hexStr.length()
/
2
];
for
(
int
i
=
0
; i
<
hexStr.length()
/
2
; i
++
)
{
int
high
=
Integer.parseInt(hexStr.substring(i
*
2
, i
*
2
+
1
),
16
);
int
low
=
Integer.parseInt(hexStr.substring(i
*
2
+
1
, i
*
2
+
2
),
16
);
result[i]
=
(
byte
) (high
*
16
+
low);
}
return
result;
}
}
posted on 2010-05-28 16:31
HUIKK
閱讀(269)
評論(0)
編輯
收藏
所屬分類:
Java
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
PP代碼生成器(四) 使用解決方案生成代碼
PP代碼生成器(三) 設(shè)計freemarker模板, 創(chuàng)建解決方案
PP代碼生成器(二) 解決方案, 生成任務(wù), 輔助設(shè)計面板
PP代碼生成器(一) 簡介, 下載, 運行
PP持久層代碼生成器
eclipse maven
平衡二叉樹,java實現(xiàn)
數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)
萬能分頁標(biāo)簽
優(yōu)化Servlet配置為web.xml瘦身
Powered by:
BlogJava
Copyright © HUIKK
主站蜘蛛池模板:
万载县
|
荃湾区
|
蒲江县
|
阳高县
|
成武县
|
宣城市
|
麦盖提县
|
绵竹市
|
平舆县
|
徐汇区
|
荥经县
|
华坪县
|
涿鹿县
|
昌邑市
|
揭西县
|
鄂尔多斯市
|
梁河县
|
体育
|
霍州市
|
瑞昌市
|
原阳县
|
武平县
|
周口市
|
平江县
|
石台县
|
赞皇县
|
曲松县
|
鹤山市
|
塔河县
|
固原市
|
凤山县
|
祁东县
|
伊宁市
|
武夷山市
|
盘锦市
|
景洪市
|
旅游
|
黄冈市
|
延长县
|
民丰县
|
绍兴市
|