频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

现成的class实现crypt算法

来源: 作者: 出处:巧巧读书 2006-09-09 进入讨论组
  • 关 键 词:

  package com.elong.application.encrypt;<br>
public class Crypt<br>
{&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;static int sub[] = new int[48];<br>
<br>
// TABLES<br>
/* Expansion table (32 to 48) */<br>
int E_p[] = {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8, 9,10,11,12,13,12,13,14,15,16,17,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16,17,18,19,20,21,20,21,22,23,24,25,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;24,25,26,27,28,29,28,29,30,31,32, 1<br>
};<br>
<br>
/* Permutation Choice 1 for subkey generation (64/56 to 56) */<br>
int PC1_p[] = {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;57,49,41,33,25,17, 9, 1,58,50,42,34,26,18,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10, 2,59,51,43,35,27,19,11, 3,60,52,44,36,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;63,55,47,39,31,23,15, 7,62,54,46,38,30,22,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14, 6,61,53,45,37,29,21,13, 5,28,20,12, 4<br>
};<br>
<br>
/* Permutation Choice 2 for subkey generation (56 to 48) */<br>
int PC2_p[] = {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14,17,11,24, 1, 5, 3,28,15, 6,21,10,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;23,19,12, 4,26, 8,16, 7,27,20,13, 2,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;41,52,31,37,47,55,30,40,51,45,33,48,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;44,49,39,56,34,53,46,42,50,36,29,32<br>
};<br>
<br>
/* Number of rotations for the iteration of key scheduling */<br>
/* The concept of a table here doesn't fit our behavioral model */<br>
/* This will be logic in our final design */<br>
int keyrots[] = {1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1};<br>
<br>
/* Selection blocks<br>
* There are 8 sblocks, each of which is referenced by a 2 bit value<br>
* which picks the row, and a 4 bit value which picks the column<br>
* This number is then the 4 bit output for that select block<br>
*/<br>
int sblocks[][][] = {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ { 14,&nbsp;&nbsp;4, 13,&nbsp;&nbsp;1,&nbsp;&nbsp;2, 15, 11,&nbsp;&nbsp;8,&nbsp;&nbsp;3, 10,&nbsp;&nbsp;6, 12,&nbsp;&nbsp;5,&nbsp;&nbsp;9,&nbsp;&nbsp;0,&nbsp;&nbsp;7 },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;0, 15,&nbsp;&nbsp;7,&nbsp;&nbsp;4, 14,&nbsp;&nbsp;2, 13,&nbsp;&nbsp;1, 10,&nbsp;&nbsp;6, 12, 11,&nbsp;&nbsp;9,&nbsp;&nbsp;5,&nbsp;&nbsp;3,&nbsp;&nbsp;8 },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;4,&nbsp;&nbsp;1, 14,&nbsp;&nbsp;8, 13,&nbsp;&nbsp;6,&nbsp;&nbsp;2, 11, 15, 12,&nbsp;&nbsp;9,&nbsp;&nbsp;7,&nbsp;&nbsp;3, 10,&nbsp;&nbsp;5,&nbsp;&nbsp;0 },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ 15, 12,&nbsp;&nbsp;8,&nbsp;&nbsp;2,&nbsp;&nbsp;4,&nbsp;&nbsp;9,&nbsp;&nbsp;1,&nbsp;&nbsp;7,&nbsp;&nbsp;5, 11,&nbsp;&nbsp;3, 14, 10,&nbsp;&nbsp;0,&nbsp;&nbsp;6, 13 }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ { 15,&nbsp;&nbsp;1,&nbsp;&nbsp;8, 14,&nbsp;&nbsp;6, 11,&nbsp;&nbsp;3,&nbsp;&nbsp;4,&nbsp;&nbsp;9,&nbsp;&nbsp;7,&nbsp;&nbsp;2, 13, 12,&nbsp;&nbsp;0,&nbsp;&nbsp;5, 10 },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;3, 13,&nbsp;&nbsp;4,&nbsp;&nbsp;7, 15,&nbsp;&nbsp;2,&nbsp;&nbsp;8, 14, 12,&nbsp;&nbsp;0,&nbsp;&nbsp;1, 10,&nbsp;&nbsp;6,&nbsp;&nbsp;9, 11,&nbsp;&nbsp;5 },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;0, 14,&nbsp;&nbsp;7, 11, 10,&nbsp;&nbsp;4, 13,&nbsp;&nbsp;1,&nbsp;&nbsp;5,&nbsp;&nbsp;8, 12,&nbsp;&nbsp;6,&nbsp;&nbsp;9,&nbsp;&nbsp;3,&nbsp;&nbsp;2, 15 },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ 13,&nbsp;&nbsp;8, 10,&nbsp;&nbsp;1,&nbsp;&nbsp;3, 15,&nbsp;&nbsp;4,&nbsp;&nbsp;2, 11,&nbsp;&nbsp;6,&nbsp;&nbsp;7, 12,&nbsp;&nbsp;0,&nbsp;&nbsp;5, 14,&nbsp;&nbsp;9 }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ { 10,&nbsp;&nbsp;0,&nbsp;&nbsp;9, 14,&nbsp;&nbsp;6,&nbsp;&nbsp;3, 15,&nbsp;&nbsp;5,&nbsp;&nbsp;1, 13, 12,&nbsp;&nbsp;7, 11,&nbsp;&nbsp;4,&nbsp;&nbsp;2,&nbsp;&nbsp;8 },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ 13,&nbsp;&nbsp;7,&nbsp;&nbsp;0,&nbsp;&nbsp;9,&nbsp;&nbsp;3,&nbsp;&nbsp;4,&nbsp;&nbsp;6, 10,&nbsp;&nbsp;2,&nbsp;&nbsp;8,&nbsp;&nbsp;5, 14, 12, 11, 15,&nbsp;&nbsp;1 },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ 13,&nbsp;&nbsp;6,&nbsp;&nbsp;4,&nbsp;&nbsp;9,&nbsp;&nbsp;8, 15,&nbsp;&nbsp;3,&nbsp;&nbsp;0, 11,&nbsp;&nbsp;1,&nbsp;&nbsp;2, 12,&nbsp;&nbsp;5, 10, 14,&nbsp;&nbsp;7 },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;1, 10, 13,&nbsp;&nbsp;0,&nbsp;&nbsp;6,&nbsp;&nbsp;9,&nbsp;&nbsp;8,&nbsp;&nbsp;7,&nbsp;&nbsp;4, 15, 14,&nbsp;&nbsp;3, 11,&nbsp;&nbsp;5,&nbsp;&nbsp;2, 12 }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ {&nbsp;&nbsp;7,&nbsp;&nbsp;13, 14,&nbsp;&nbsp;3,&nbsp;&nbsp;0,&nbsp;&nbsp;6,&nbsp;&nbsp;9, 10,&nbsp;&nbsp;1,&nbsp;&nbsp;2,&nbsp;&nbsp;8,&nbsp;&nbsp;5, 11, 12,&nbsp;&nbsp;4, 15 },<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&来自:http://www.qqread.com/jsp/z238693.html进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章