仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1198|回复: 18
打印 上一主题 下一主题

[学习教程] JAVA教程之最平安的加密算法 (摘自温少的blog)

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:50:12 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
但是对于JAVA技术类的学习,我觉得大课堂反而会影响自身独立思考的过程,因为上课的时候,老师讲课的速度很快为了不遗漏要点,通常会仔细的听,平安|加密|算法在暗码学里,有一种幻想的加密计划,叫做一次一密乱码本(one-timepad)。one-timepad的算法有以下请求:1、密钥必需随机发生2、密钥不克不及反复利用3、密钥和密文的长度是一样的。one-timepad是最平安的加密算法,两边一旦平安互换了密钥,以后互换信息的历程就是相对平安的啦。这类算法一向在一些请求高度秘密的场所利用,听说美国和前苏联之间的热线德律风、前苏联的特务都是利用One-timepad的体例加密的。不论超等盘算机事情多久,也不论几人,用甚么办法和手艺,具有多年夜的盘算才能,都不成能破解。一次一密的一种完成体例,以下:publicclassOneTimePadUtil{publicstaticbyte[]xor(byte[]bytes,byte[]keyBytes){if(keyBytes.length!=bytes.length){thrownewIllegalArgumentException();}byte[]resultBytes=newbyte[bytes.length];for(inti=0;i<resultBytes.length;++i){resultBytes[i]=(byte)(keyBytes[i]^bytes[i]);}returnresultBytes;}}利用例子:StringplainText="温少";StringkeyText="暗码";byte[]plainBytes=plainText.getBytes();byte[]keyBytes=keyText.getBytes();assertplainBytes.length==keyBytes.length;//加密byte[]cipherBytes=OneTimePadUtil.xor(plainBytes,keyBytes);//解密byte[]cipherPlainBytes=OneTimePadUtil.xor(cipherBytes,keyBytes);
这是最复杂的加密算法,但也是最平安的秘密算法。前天和伴侣会商到了这个成绩,以是写了这篇文章。

前些天,在CSDN上看到了一个消息,说是ASP.NETAJAX成功在Linux上运行,这一点对我触动很大,而且引发了我许多感叹,所以想写出来分享一下。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-21 21:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表