資源簡介
des算法加密任意文件,實現(xiàn)對文件的加解密,使用java代碼實現(xiàn)的

代碼片段和文件信息
package?des;
import?java.io.BufferedOutputStream;
import?java.io.File;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.RandomAccessFile;
import?java.nio.MappedByteBuffer;
import?java.nio.channels.FileChannel;
import?java.nio.channels.FileChannel.MapMode;
/**
?*?作者:李鵬程?on?2017年5月5日?上午10:30:04
?作用:Des算法
?*/
public?class?Des??{
static?byte[]?bytekey;
private?Des(String?strKey)?{
this.bytekey?=?strKey.getBytes();
}
private??static?Des?instance;
private?static?byte[][]?storecry;
//單利模式
public?static?synchronized?Des?getInstance(String?strKey){
if?(instance==null)?{
instance=new?Des(strKey);
}
return?instance;
}
private?static?final?boolean?USE_ECB_MODEL?=?true;
//??初始置換IP?64位
private?static?final?int[]?INIT_REP_IP?=?{?58?50?42?34?26?18?10?2?60?52
44?36?28?20?12?4?62?54?46?38?30?22?14?6?64?56?48
40?32?24?16?8?57?49?41?33?25?17?9?1?59?51?43?35
27?19?11?3?61?53?45?37?29?21?13?5?63?55?47?39?31
23?15?7?};
//?初始逆置換IP?64位
private?static?final?int[]?INIT_INVER_REP_IP?=?{?40?8?48?16?56?24?64?32?39?7
47?15?55?23?63?31?38?6?46?14?54?22?62?30?37?5?45
13?53?21?61?29?36?4?44?12?52?20?60?28?35?3?43?11
51?19?59?27?34?2?42?10?50?18?58?26?33?1?41?9?49
17?57?25?};
//?置換選擇1,56位
private?static?final?int[]?PC_1?=?{?57?49?41?33?25?17?9?1?58?50
42?34?26?18?10?2?59?51?43?35?27?19?11?3?60?52?44
36?63?55?47?39?31?23?15?7?62?54?46?38?30?22?14?6
61?53?45?37?29?21?13?5?28?20?12?4?};
//??置換選擇2即壓縮置換???48位
private?static?final?int[]?PC_2?=?{?14?17?11?24?1?5?3?28?15?6?21
10?23?19?12?4?26?8?16?7?27?20?13?2?41?52?31?37?47
55?30?40?51?45?33?48?44?49?39?56?34?53?46?42?50?36
29?32?};
//??擴展置換E??48位
private?static?final?int[]?Ext_Per_E?=?{?32?1?2?3?4?5?4?5?6?7?8?9?8?9
10?11?12?13?12?13?14?15?16?17?16?17?18?19?20?21?20
21?22?23?24?25?24?25?26?27?28?29?28?29?30?31?32?1?};
//??P盒????32位
private?static?final?int[]?P?=?{?16?7?20?21?29?12?28?17?1?15?23
26?5?18?31?10?2?8?24?14?32?27?3?9?19?13?30?6?22
11?4?25?};
//?S_Box
private?static?final?int[][][]?S_Box?=?{//S-盒
{//?S_Box[1]
{?14?4?13?1?2?15?11?8?3?10?6?12?5?9?0?7?}
{?0?15?7?4?14?2?13?1?10?6?12?11?9?5?3?8?}
{?4?1?14?8?13?6?2?11?15?12?9?7?3?10?5?0?}
{?15?12?8?2?4?9?1?7?5?11?3?14?10?0?6?13?}?}
{?//?S_Box[2]
{?15?1?8?14?6?11?3?4?9?7?2?13?12?0?5?10?}
{?3?13?4?7?15?2?8?14?12?0?1?10?6?9?11?5?}
{?0?14?7?11?10?4?13?1?5?8?12?6?9?3?2?15?}
{?13?8?10?1?3?15?4?2?11?6?7?12?0?5?14?9?}?}
{?//?S_Box[3]
{?10?0?9?14?6?3?15?5?1?13?12?7?11?4?2?8?}
{?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????446??2018-06-21?20:12??DES_LPC\DES_LPC.iml
?????文件??????20138??2018-06-21?20:16??DES_LPC\src\com\lidapeng\des\Des.java
?????文件?????243028??2018-06-21?20:12??DES_LPC\src\com\lidapeng\swing\logo.png
?????文件??????12142??2018-06-21?20:18??DES_LPC\src\com\lidapeng\swing\Myfr
?????文件????????186??2018-06-21?20:18??DES_LPC\src\com\lidapeng\the_final\The_Final.java
?????文件????????189??2018-06-21?20:12??DES_LPC\src\note.txt
?????文件????????413??2018-06-21?20:12??DES_LPC\src\test\Test.java
?????目錄??????????0??2018-06-21?20:16??DES_LPC\src\com\lidapeng\des
?????目錄??????????0??2018-06-21?20:18??DES_LPC\src\com\lidapeng\swing
?????目錄??????????0??2018-06-21?20:18??DES_LPC\src\com\lidapeng\the_final
?????目錄??????????0??2018-06-21?20:20??DES_LPC\src\com\lidapeng
?????目錄??????????0??2018-06-21?20:12??DES_LPC\src\com
?????目錄??????????0??2018-06-21?20:12??DES_LPC\src\test
?????目錄??????????0??2018-06-21?20:12??DES_LPC\src
?????目錄??????????0??2018-06-21?20:12??DES_LPC
-----------?---------??----------?-----??----
???????????????276542????????????????????15
評論
共有 條評論