温少的日志
导航
BlogJava
首页
新随笔
联系
聚合
管理
<
2005年3月
>
日
一
二
三
四
五
六
27
28
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
6
7
8
9
统计
随笔 - 75
文章 - 0
评论 - 168
引用 - 0
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(14)
给我留言
查看公开留言
查看私人留言
随笔档案
2010年7月 (1)
2009年9月 (3)
2009年1月 (1)
2008年7月 (1)
2008年6月 (1)
2008年5月 (1)
2008年3月 (1)
2008年2月 (2)
2007年11月 (3)
2007年9月 (3)
2007年5月 (2)
2007年4月 (8)
2007年3月 (6)
2006年11月 (15)
2006年7月 (8)
2006年4月 (1)
2006年3月 (1)
2006年1月 (2)
2005年4月 (1)
2005年3月 (5)
2005年2月 (1)
2005年1月 (2)
2004年12月 (3)
2004年11月 (2)
2004年10月 (1)
链接
温少的日志(主站)
搜索
最新评论
1. re: 使用bcel动态创建class
谢谢楼主的分享 支持一下
--长春庆典公司
2. re: 精巧好用的DelayQueue
评论内容较长,点击标题查看
--chun
3. re: 使用bcel动态创建class
写的很详细很实用
--吉林网站升级
4. re: 使用bcel动态创建class
谢谢博主无私的分享
--长春短租公寓
5. re: 使用JSON替代XML
很好的方法啊,要记住
--长春日租房
阅读排行榜
1. 使用bcel动态创建class(8583)
2. 关于java nio在windows下实现(7905)
3. Java aio和JSR 203(6848)
4. 新写了一个Java并发程序设计教程(6382)
5. JDK 在linux下支持epoll了(6314)
评论排行榜
1. 提高编码速度的一个办法(25)
2. JPA这个烂东西(19)
3. 欢迎访问金蝶“友商网”(www.youshang.com)(13)
4. 也说一种普遍错误使用的LOG方式(13)
5. 使用JSON替代XML(12)
最安全的加密算法
在密码学里,有一种理想的加密方案,叫做一次一密乱码本(one-time pad)。
one-time pad的算法有以下要求:
1、密钥必须随机产生
2、密钥不能重复使用
3、密钥和密文的长度是一样的。
one-time pad是最安全的加密算法,双方一旦安全交换了密钥,之后交换信息的过程就是绝对安全的啦。这种算法一直在一些要求高度机密的场合使用,据说美国和前苏联之间的热线电话、前苏联的间谍都是使用One-time pad的方式加密的。不管超级计算机工作多久,也不管多少人,用什么方法和技术,具有多大的计算能力,都不可能破解。
一次一密的一种实现方式,如下:
public
class
OneTimePadUtil
{
public
static
byte
[] xor(
byte
[] bytes,
byte
[] keyBytes)
{
if
(keyBytes.length
!=
bytes.length)
{
throw
new
IllegalArgumentException();
}
byte
[] resultBytes
=
new
byte
[bytes.length];
for
(
int
i
=
0
; i
<
resultBytes.length;
++
i)
{
resultBytes[i]
=
(
byte
) (keyBytes[i]
^
bytes[i]);
}
return
resultBytes;
}
}
使用例子:
String plainText
=
"
温少
"
;
String keyText
=
"
密码
"
;
byte
[] plainBytes
=
plainText.getBytes();
byte
[] keyBytes
=
keyText.getBytes();
assert plainBytes.length
==
keyBytes.length;
//
加密
byte
[] cipherBytes
=
OneTimePadUtil.xor(plainBytes, keyBytes);
//
解密
byte
[] cipherPlainBytes
=
OneTimePadUtil.xor(cipherBytes, keyBytes);
这是最简单的加密算法,但也是最安全的机密算法。前天和朋友讨论到了这个问题,所以写了这篇文章。
posted on 2005-03-27 11:28
温少的日志
阅读(945)
评论(2)
编辑
收藏
Comments
#
re: 最安全的加密算法
Curvesoft
Posted @ 2006-03-23 16:18
那么最关键的也最容易出问题的就在于“密钥的交换”,呵呵
回复
更多评论
#
re: 最安全的加密算法
masuz
Posted @ 2006-10-23 15:29
嗯,这个方法不错!
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理