接下来我们介绍对称加密算法 最常用的莫过于DES数据加密算法
DES
DES Data Encryption Standard 即数据加密算法 是IBM公司于 年研究成功并公开发表的 DES算法的入口参数有三个 Key Data Mode 其中Key为 个字节共 位 是DES算法的工作密钥 Data也为 个字节 位 是要被加密或被解密的数据 Mode为DES的工作方式 有两种 加密或解密
DES算法把 位的明文输入块变为 位的密文输出块 它所使用的密钥也是 位
通过java代码实现如下
importjava security Key;importjava security SecureRandom;importjavax crypto Cipher;importjavax crypto KeyGenerator;importjavax crypto SecretKey;importjavax crypto SecretKeyFactory;importjavax crypto spec DESKeySpec;/***//***DES安全编码组件authorby;**<pre>*支持DES DESede(TripleDES 就是 DES) AES Blowfish RC RC (ARCFOUR)*DESkeysizemustbeequalto *DESede(TripleDES)keysizemustbeequalto or *AESkeysizemustbeequalto or but and bitsmaynotbeavailable* andcanonlyrangefrom to (inclusive)*RC keysizemustbebeeen and bits*RC (ARCFOUR)keysizemustbebeeen and bits*具体内容需要关注JDKDocument&///docs/technotes/guides/security/l*</pre>**@author梁栋*@version *@since */{/***//***ALGORITHM算法<br>*可替换为以下任意一种算法 同时key值的size相应改变 **<pre>*DESkeysizemustbeequalto *DESede(TripleDES)keysizemustbeequalto or *AESkeysizemustbeequalto or but and bitsmaynotbeavailable* andcanonlyrangefrom to (inclusive)*RC keysizemustbebeeen and bits*RC (ARCFOUR)keysizemustbebeeen and bits*</pre>**在KeytoKey(byte[]key)方法中使用下述代码*<code>SecretKeysecretKey=newSecretKeySpec(key ALGORITHM);</code>替换*<code>*DESKeySpecdks=newDESKeySpec(key);*SecretKeyFactorykeyFactory=SecretKeyFactory getInstance(ALGORITHM);*SecretKeysecretKey=keyFactory generateSecret(dks);*</code>*/= DES ;/***//***转换密钥<br>**@paramkey*@return*@throwsException*/privatestaticKeytoKey(byte[]key)throwsException{DESKeySpecdks=newDESKeySpec(key);SecretKeyFactorykeyFactory=SecretKeyFactory getInstance(ALGORITHM);SecretKeysecretKey=keyFactory generateSecret(dks);//当使用其他对称加密算法时 如AES Blowfish等算法时 用下述代码替换上述三行代码//SecretKeysecretKey=newSecretKeySpec(key ALGORITHM);returnsecretKey;}/***//***解密**@paramdata*@paramkey*@return*@throwsException*/publicstaticbyte[]decrypt(byte[]data Stringkey)throwsException{Keyk=toKey(decryptBASE (key));Ciphercipher=Cipher getInstance(ALGORITHM);cipher init(Cipher DECRYPT_MODE k);returncipher doFinal(data);}/***//***加密**@paramdata*@paramkey*@return*@throwsException*/publicstaticbyte[]encrypt(byte[]data Stringkey)throwsException{Keyk=toKey(decryptBASE (key));Ciphercipher=Cipher getInstance(ALGORITHM);cipher init(Cipher ENCRYPT_MODE k);returncipher doFinal(data);}/***//***生成密钥**@return*@throwsException*/publicstaticStringinitKey()throwsException{returninitKey(null);}/***//***生成密钥**@paramseed*@return*@throwsException*/publicstaticStringinitKey(Stringseed)throwsException{SecureRandomsecureRandom=null;if(seed!=null){secureRandom=newSecureRandom(decryptBASE (seed));}else{secureRandom=newSecureRandom();}KeyGeneratorkg=KeyGenerator getInstance(ALGORITHM);kg init(secureRandom);SecretKeysecretKey=kg generateKey();returnencryptBASE (secretKey getEncoded());}}
延续上一个类的实现 我们通过MD 以及SHA对字符串加密生成密钥 这是比较常见的密钥生成方式
再给出一个测试类
importstatic junit Assert *;import junit Test;/***//****@authorby;;*@version *@since */publicclassDESCoderTest{@Testpublicvoidtest()throwsException{StringinputStr= DES ;Stringkey=DESCoder initKey();System err println( 原文: +inputStr);System err println( 密钥: +key);byte[]inputData=inputStr getBytes();inputData=DESCoder encrypt(inputData key);System err println( 加密后: +DESCoder encryptBASE (inputData));byte[]outputData=DESCoder decrypt(inputData key);StringoutputStr=newString(outputData);System err println( 解密后: +outputStr);assertEquals(inputStr outputStr);}}
得到的输出内容如下
原文 DES
密钥 f wEtRrV q =
加密后 C qe oNIzRY=
解密后 DES
由控制台得到的输出 我们能够比对加密 解密后结果一致 这是一种简单的加密解密方式 只有一个密钥
其实DES有很多同胞兄弟 如DESede(TripleDES) AES Blowfish RC RC (ARCFOUR) 这里就不过多阐述了 大同小异 只要换掉ALGORITHM换成对应的值 同时做一个代码替换SecretKey secretKey = new SecretKeySpec(key ALGORITHM) 就可以了 此外就是密钥长度不同了
/**
lishixin/Article/program/Java/gj/201311/27624
Ⅱ 求推荐一些计算机专业行业的相关的经典书籍
1、Java
Java编程语言(第三版)---Java四大名着----James Gosling(Java之父)
Java编程思想(第2版)----Java四大名着----Bruce Eckel
Java编程思想(第3版)----Java四大名着----------------Bruce Eckel
JAVA 2核心技术 卷I:基础知识(原书第7版)---Java四大名着-----Cay Horstmann
JAVA 2核心技术 卷II:高级特性(原书第7版)----Java四大名着-----Cay Horstmann
Effective Java中文版------Java四大名着--------Joshua Bloch
精通Struts:基于MVC的Java Web设计与开发---孙卫琴
精通Hibernate:Java对象持久化技术详解---孙卫琴
Tomcat与Java Web开发技术详解------------孙卫琴
Java与模式------------------------------阎宏
2、c#
C#程序设计-------Charles Petzold“windows编程泰山北斗”---C#语言“倚天屠龙双剑”
C# Primer中文版--------Stanley B.Lippman---C#语言“倚天屠龙双剑”
.NET框架程序设计(修订版)--------Jeffrey Richter“windows编程泰山北斗”---.NET平台四大天王
c#Windows程序设计----------Charles Petzold“windows编程泰山北斗”------.NET平台四大天王
.NET程序设计技术内幕-------------Jeff Prosise---.NET平台四大天王
.NET本质论--第1卷:公共语言运行库(中文版)--------Chris Sells---.NET平台四大天王
3、C++
C++程序设计语言(特别版)---c++八大金刚----Bjarne Stroustrup“C++之父”
C++ Primer (第3版)中文版----c++八大金刚---Stanley B.Lippman
C++ Primer (第4版)中文版----c++八大金刚---Stanley B.Lippman
C++标准程序库—自修教程与参考手册--c++八大金刚--Nicolai M.Josuttis
C++语言的设计和演化-----c++八大金刚----Bjarne Stroustrup“C++之父”
深度探索C++对象模型---c++八大金刚----Stanley B.Lippman
Essential C++中文版---c++八大金刚---Stanley B.Lippman
Effective C++中文版 2nd Edition-----c++八大金刚------Scott Meyers
More Effective C++中文版----c++八大金刚------Scott Meyers
C++编程思想(第2版) 第1卷:标准C++导引--------Bruce Eckel
C++编程思想(第2版)第2卷:实用编程技术 --------Bruce Eckel
C++程序设计--------------------------谭浩强
C++ 程序设计教程(第2版)--------------钱能
C++ Primer Plus(第五版)中文版---Stephen Prata
广博如四库全书The c++ programming language、c++ Primer
深奥如山重水复Inside the c++ object model
程序库大全The c++ standard libray
工程经验之积累Effective c++、More Effective c++、Exceptional c++
c++八大金刚:
1、Essentital c++---lippman---C++之父,旁枝暂略,主攻核心,轻薄短小,初学者
2、The c++ programming language----C++之父,技术权威,用词深峻,思想深远,c++网络全书代表,圣经。
3、c++ Primer----lippman---纵横书市十数年,c++最佳教本,c++网络全书代表。
4、Inside the c++ object model-----lippman----揭示c++底层,非常好,非常难。
5、Effective c++-----通过50个编程实例,展示专家经验,行文有趣,深处浅出。
6、More Effective c++----通过35个编程实例,展示专家经验,行文有趣,深处浅出。
7、The c++ standard libray---c++标准库的网络全书。
8、设计模式:可复用面向对象软件的基础------good!
4、c
C程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---Brian W.Kernighan“C语言之父”
C Primer Plus中文版(第五版)--------C语言“倚天屠龙双剑”---Stephen Prata
C程序设计(第三版)---------------------------谭浩强
C语言大全(第四版)---------------------------HERBERT SCHILDT
C语言接口与实现:创建可重用软件的技术-------------DAVID R.HANSON
C语言参考手册(原书第5版)--------------------------Samuel P.Harbison
C程序设计教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱与缺陷-----------------------------------Andrew Koenig
5、VB
Visual Basic .NET技术内幕-----VB编程三剑客-----------Francesco Balena“vb首席大师”
Windows程序设计-Visual Basic.NET语言描述--VB编程三剑客-----Charles Petzold“windows编程泰山北斗”---
.NET框架程序设计:Visual Basic.NET语言描述--VB编程三剑客--Jeffrey Richter“windows编程泰山北斗”---,Francesco Balena“vb首席大师”
Visual Basic 6编程技术大全------------------------Francesco Balena“vb首席大师”
Visual Basic.NET 从入门到精通-------------------------Petroutsos,E.
高级VISUAL BASIC编程-----------------------------------MATTHEW CURLAND
6、Delphi
Inside VCL(深入核心——VCL架构剖析)----------李维
Delphi 7高效数据库程序设计--------------李维
面向对象开发实践之路(Delphi版)----------李维
7、VC
Windows 程序设计(第5版)-----Charles Petzold“windows编程泰山北斗”---
Windows核心编程----------Jeffrey Richter“windows编程泰山北斗”---
Windows高级编程指南---------Jeffrey Richter“windows编程泰山北斗”---
深入浅出MFC(第二版)-----“MFC四大天王”-------侯捷
MFC Windows程序设计(第2版)---MFC四大天王”---------Jeff Prosise
Visual C++ 技术内幕(第4版)--MFC四大天王”--------David Kruglinski
深入解析MFC-------------MFC四大天王”-----------George Shepherd
Visual C++.NET 技术内幕(第6版)-MFC四大天王”------------David Kruglinski
8、VF
Visual Foxpro程序设计参考手册-------------------张洪举
专家门诊——Visual FoxPro开发答疑160问-------------------张洪举
Visual FoxPro 6.0/9.0解决方案与范例大全-------------------张洪举
Visual FoxPro软件开发模式与应用案例-------------------张洪举
9、黑客
应用密码学(协议算法与C源程序-----------Bruce Schneier
网络信息安全的真相-----------Bruce Schneier
黑客大曝光:网络安全机密与解决方案(第5版)--------STUART MCCLURE
软件加密技术内幕------------看雪学院
加密与解密——软件保护技术与完全解决方案------------看雪学院
加密与解密(第二版)--------段钢
10、汇编
Intel微处理器结构、编程与接口(第六版)---------Barry B. Brey
80*86、奔腾机汇编语言程序设计---------Barry B. Brey
Windows环境下32位汇编语言程序设计(第2版)-----------罗云彬
IBM-PC汇编语言程序设计(第2版) 本书是国内优秀教材--------沈美明 温冬婵
IBM PC汇编语言程序设计(第五版) 这本书籍是国外优秀教材-------PETER ABEL着,沈美明 温冬蝉译
11、驱动开发
Windows WDM设备驱动程序开发指南------------------------------------ Chris Cant
Windows 2000/XP WDM设备驱动程序开发(第2版)--------------------------武安河
WINDOWS 2000/XP WDM设备驱动程序开发-------------------------------- 武安河
12、网络
计算机网络第四版中文版----网络编程三剑客--------------Andrew S.Tanenbaum
TCP/IP详解3卷本--------------------Richard Stevens----网络编程三剑客
UNIX网络编程2卷本--------------------Richard Stevens----网络编程三剑客
用TCP/IP进行网际互联-----------Douglas E. Comer
高级TCP/IP编程-------------------Jon C. Snader
C++网络编程-----------------------Douglas Schmidt
UNIX环境高级编程(第2版)--------------------Richard Stevens
13、算法
计算机程序设计艺术-------Donald.E.Knuth----------算法“倚天屠龙”双剑
算法导论-----------------Thomas H. Cormen--------算法“倚天屠龙”双剑
离散数学及其应用----------Kenneth H.Rosen
具体数学—计算机科学基础--------Donald.E.Knuth
14、图形编程
Windows 图形编程----------------FENG YUAN --图形编程界的Charles Petzold之书
15、数据结构
数据结构 C++语言描述》58.00(Data Structures C++) William Ford,William Topp 刘卫东 沈官林
数据结构算法与应用-C++语言描述》49.00Sartej Sahni 汪诗林 孙晓东等机械工业出版社
16、软件工程
设计模式--可复用面向对象软件的基础
重构—改善既有代码的设计
17、操作系统
深入理解计算机系统(修订版)-------RANDAL E.BRYANT
18、Unix
UNIX 网络编程 卷I 套接字联网API(英文版 第三版
UNIX 编程艺术
UNIX环境高级编程(英文影印第2版-----UNIX编程“圣经
UNIX环境高级编程(英文影印版)(第2版)
99-UNIX环境高级编程(第2版)
UNIX环境高级编程(第2版)---UNIX编程“圣经
UNIX网络编程 第1卷:套接口API(第3版)
UNIX网络编程卷2:进程间通信(第2版)(英文影印版)
UNIX 网络编程(第二版)第2卷:进程间通信
UNIX编程环境
UNIX 网络编程 卷I 套接字联网API(英文版 第三版
UNIX系统编程
UNIX环境高级编程
UNIX环境高级编程(英文影印版
88-linux内核分析及编程
UNIX 网络编程 卷I 套接字联网API(英文版 第三版)
UNIX网络编程 第1卷:套接口API(第3版)
UNIX 网络编程(第二版)第2卷:进程间通信
UNIX网络编程卷2:进程间通信(第2版)(英文影印版)
UNIX 网络编程(第2版)第1卷:套接口API和X/Open 传输接口API
UNIX网络编程(卷1):连网的APLS:套接字与XTI(第二版)(英文影印版)
UNIX环境高级编程
UNIX 环境高级编程(英文版)
UNIX环境高级编程(第2版)
Unix技术手册
19、Linux
Linux内核设计与实现
Linux内核完全注释
LINUX内核分析及编程
GNU/Linux 编程指南(第二版)
Linux设备驱动程序(第三版)
嵌入式设计及Linux驱动开发指南——基于ARM 9处理器
Linux设备驱动程序 第三版(英文影印版)
Linux内核设计与实现(第2版)
Linux内核设计与实现(英文影印版)(第2版)
linux技术手册
20、游戏编程
Windows游戏编程大师技巧(第二版
游戏之旅--我的编程感悟
OpenGL超级宝典:第三版
OpenGL编程指南(第四版)
Java 游戏高级编程
J2ME手机游戏编程入门
游戏之旅——我的编程感悟
游戏开发中的人工智能(英文影印版)
3D游戏:卷2 动画与高级实时渲染技术
面向对象的游戏开发
Java 游戏高级编程
3D游戏编程大师技巧
游戏编程精粹
面向对象的游戏开发
3D游戏 卷1:实时渲染与软件技术
3D游戏:卷2 动画与高级实时渲染技…
J2ME手机游戏编程入门
Direct3D游戏编程入门教程(第二版…
21、移动开发
Windows Mobile手机应用开发
SYMBIAN OS C++手机应用开发
68-Windows Mobile手机应用开发--傅曦 齐宇 徐骏
48-SYMBIAN OS C++手机应用开发 (第2卷)------------------RICHARD HARRISON着,周良忠 王伯欣译
68-SYMBIAN OS C++手机应用开发---------------RICHARD HARRISON着,周良忠译
Windows CE.net内核定制及应用程序开发---------周毓林 宁杨 陆贵强 付林林
嵌入式系统Windows CE 开发技巧与实例--傅曦
Palm OS编程实践---绝版
22、单片机
单片机轻松入门----------------------------------周坚(平凡老师)
单片机典型模块设计实例导航-----------------------求是科技
例说8051----------------------------------------张义和 陈敌北
KEIL CX51 V7.0单片机高级语言编程与ΜVISION2应用实践-----徐爱钧
单片机应用程序设计技术(修订版)--------------------周航慈
8051单片机实践与应用-------------------------------吴金戎
MCS-51系列单片机实用接口技术---------------------李华
23、串并口通讯
Visual C++/Turbo C串口通信编程实践------------------龚建伟
VISUAL BASIC与RS-232串行通信控制(最新版)----------范逸之
24、电子
无线电识图与电路故障分析轻松入门(第二版) -------------------胡斌
无线电元器件检测与修理技术轻松入门(第二版) -------------------胡斌
图表细说电子技术识图-------------------胡斌
图表细说电子元器件-------------------胡斌
图表细说元器件及实用电路-------------------胡斌
Ⅲ 如何利用JAVA对文档进行加密和解密处理,完整的java类
我以前上密码学课写过一个DES加解密的程序,是自己实现的,不是通过调用java库函数,代码有点长,带有用户界面。需要的话联系我
Ⅳ Effective Java中文版的内容简介
《Effective Java中文版(第2版)》主要内容:在Java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。第2版反映了Java 5中最重要的变化,并删去了过时的内容。
《Effective Java中文版(第2版)》中的每条规则都以简短、独立的小文章形式出现,并通过示例代码加以进一步说明。
《Effective Java中文版(第2版)》的内容包括:
全新的泛型、枚举、注解、自动装箱、for-each循环、可变参数、并发机制,等等。
经典主题的全新技术和最佳实践,包括对象.类、类库、方法和序列化。
如何避免Java编程语言中常被误解的细微之处:陷阱和缺陷。
点击链接进入Java程序设计:
《深入理解Java虚拟机:JVM高级特性与最佳实践》
《JAVA核心技术(卷1):基础知识(原书第8版)》
《JAVA核心技术卷2:高级特征》
《Java语言程序设计(基础篇)(原书第8版)》
《Java编程思想(第4版)》
《Effective Java中文版(第2版)》
《Java编程思想(英文版?第4版)》
《Java 实时编程》
《Java加密与解密的艺术》
《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》
《Java语言程序设计:进阶篇(原书第8版)》
《Maven实战》
Ⅳ java密码加密与解密
以下两个类可以很方便的完成字符串的加密和解密
加密 CryptHelper encrypt(password)
解密 CrypHelper decrypt(password)
代码如下
CryptUtils java
[java]
package gdie lab crypt;
import java io IOException;
import javax crypto Cipher;
import javax crypto KeyGenerator;
import javax crypto SecretKey;
import apache xerces internal impl dv util Base ;
public class CryptUtils {
private static String Algorithm = DES ;
private static byte[] DEFAULT_KEY=new byte[] { };
private static String VALUE_ENCODING= UTF ;
/**
* 生成密钥
*
* @return byte[] 返回生成的密钥
* @throws exception
* 扔出异常
*/
public static byte[] getSecretKey() throws Exception {
KeyGenerator keygen = KeyGenerator getInstance(Algorithm)
SecretKey deskey = keygen generateKey()
// if (debug ) System out println ( 生成密钥 +byte hex (deskey getEncoded
// ()))
return deskey getEncoded()
}
/**
* 将指定的数据根据提供的密钥进行加密
*
* @param input
* 需要加密的数据
* @param key
* 密钥
* @return byte[] 加密后的数据
* @throws Exception
*/
public static byte[] encryptData(byte[] input byte[] key) throws Exception {
SecretKey deskey = new javax crypto spec SecretKeySpec(key Algorithm)
// if (debug )
// {
// System out println ( 加密前的二进串 +byte hex (input ))
// System out println ( 加密前的字符串 +new String (input ))
//
// }
Cipher c = Cipher getInstance(Algorithm)
c init(Cipher ENCRYPT_MODE deskey)
byte[] cipherByte = c doFinal(input)
// if (debug ) System out println ( 加密后的二进串 +byte hex (cipherByte ))
return cipherByte;
}
public static byte[] encryptData(byte[] input) throws Exception {
return encryptData(input DEFAULT_KEY)
}
/**
* 将给定的已加密的数据通过指定的密钥进行解密
*
* @param input
* 待解密的数据
* @param key
* 密钥
* @return byte[] 解密后的数据
* @throws Exception
*/
public static byte[] decryptData(byte[] input byte[] key) throws Exception {
SecretKey deskey = new javax crypto spec SecretKeySpec(key Algorithm)
// if (debug ) System out println ( 解密前的信息 +byte hex (input ))
Cipher c = Cipher getInstance(Algorithm)
c init(Cipher DECRYPT_MODE deskey)
byte[] clearByte = c doFinal(input)
// if (debug )
// {
// System out println ( 解密后的二进串 +byte hex (clearByte ))
// System out println ( 解密后的字符串 +(new String (clearByte )))
//
// }
return clearByte;
}
public static byte[] decryptData(byte[] input) throws Exception {
return decryptData(input DEFAULT_KEY)
}
/**
* 字节码转换成 进制字符串
*
* @param byte[] b 输入要转换的字节码
* @return String 返回转换后的 进制字符串
*/
public static String byte hex(byte[] bytes) {
StringBuilder hs = new StringBuilder()
for(byte b : bytes)
hs append(String format( % $ X b))
return hs toString()
}
public static byte[] hex byte(String content) {
int l=content length()》 ;
byte[] result=new byte[l];
for(int i= ;i<l;i++) {
int j=i《 ;
String s=content substring(j j+ )
result[i]=Integer valueOf(s ) byteValue()
}
return result;
}
/**
* 将字节数组转换为base 编码字符串
* @param buffer
* @return
*/
public static String bytesToBase (byte[] buffer) {
//BASE Encoder en=new BASE Encoder()
return Base encode(buffer)
// return encoder encode(buffer)
}
/**
* 将base 编码的字符串解码为字节数组
* @param value
* @return
* @throws IOException
*/
public static byte[] base ToBytes(String value) throws IOException {
//return Base decodeToByteArray(value)
// System out println(decoder decodeBuffer(value))
// return decoder decodeBuffer(value)
return Base decode(value)
}
/**
* 加密给定的字符串
* @param value
* @return 加密后的base 字符串
*/
public static String encryptString(String value) {
return encryptString(value DEFAULT_KEY)
}
/**
* 根据给定的密钥加密字符串
* @param value 待加密的字符串
* @param key 以BASE 形式存在的密钥
* @return 加密后的base 字符串
* @throws IOException
*/
public static String encryptString(String value String key) throws IOException {
return encryptString(value base ToBytes(key))
}
/**
* 根据给定的密钥加密字符串
* @param value 待加密的字符串
* @param key 字节数组形式的密钥
* @return 加密后的base 字符串
*/
public static String encryptString(String value byte[] key) {
try {
byte[] data=value getBytes(VALUE_ENCODING)
data=CryptUtils encryptData(data key)
return bytesToBase (data)
} catch (Exception e) {
// TODO Auto generated catch block
e printStackTrace()
return null;
}
}
/**
* 解密字符串
* @param value base 形式存在的密文
* @return 明文
*/
public static String decryptString(String value) {
return decryptString(value DEFAULT_KEY)
}
/**
* 解密字符串
* @param value base 形式存在的密文
* @param key base 形式存在的密钥
* @return 明文
* @throws IOException
*/
public static String decryptString(String value String key) throws IOException {
String s=decryptString(value base ToBytes(key))
return s;
}
/**
* 解密字符串
* @param value base 形式存在的密文
* @param key 字节数据形式存在的密钥
* @return 明文
*/
public static String decryptString(String value byte[] key) {
try {
byte[] data=base ToBytes(value)
data=CryptUtils decryptData(data key)
return new String(data VALUE_ENCODING)
}catch(Exception e) {
e printStackTrace()
return null;
}
}
}
package gdie lab crypt;
import java io IOException;
import javax crypto Cipher;
import javax crypto KeyGenerator;
import javax crypto SecretKey;
import apache xerces internal impl dv util Base ;
public class CryptUtils {
private static String Algorithm = DES ;
private static byte[] DEFAULT_KEY=new byte[] { };
private static String VALUE_ENCODING= UTF ;
/**
* 生成密钥
*
* @return byte[] 返回生成的密钥
* @throws exception
* 扔出异常
*/
public static byte[] getSecretKey() throws Exception {
KeyGenerator keygen = KeyGenerator getInstance(Algorithm)
SecretKey deskey = keygen generateKey()
// if (debug ) System out println ( 生成密钥 +byte hex (deskey getEncoded
// ()))
return deskey getEncoded()
}
/**
* 将指定的数据根据提供的密钥进行加密
*
* @param input
* 需要加密的数据
* @param key
* 密钥
* @return byte[] 加密后的数据
* @throws Exception
*/
public static byte[] encryptData(byte[] input byte[] key) throws Exception {
SecretKey deskey = new javax crypto spec SecretKeySpec(key Algorithm)
// if (debug )
// {
// System out println ( 加密前的二进串 +byte hex (input ))
// System out println ( 加密前的字符串 +new String (input ))
//
// }
Cipher c = Cipher getInstance(Algorithm)
c init(Cipher ENCRYPT_MODE deskey)
byte[] cipherByte = c doFinal(input)
// if (debug ) System out println ( 加密后的二进串 +byte hex (cipherByte ))
return cipherByte;
}
public static byte[] encryptData(byte[] input) throws Exception {
return encryptData(input DEFAULT_KEY)
}
/**
* 将给定的已加密的数据通过指定的密钥进行解密
*
* @param input
* 待解密的数据
* @param key
* 密钥
* @return byte[] 解密后的数据
* @throws Exception
*/
public static byte[] decryptData(byte[] input byte[] key) throws Exception {
SecretKey deskey = new javax crypto spec SecretKeySpec(key Algorithm)
// if (debug ) System out println ( 解密前的信息 +byte hex (input ))
Cipher c = Cipher getInstance(Algorithm)
c init(Cipher DECRYPT_MODE deskey)
byte[] clearByte = c doFinal(input)
// if (debug )
// {
// System out println ( 解密后的二进串 +byte hex (clearByte ))
// System out println ( 解密后的字符串 +(new String (clearByte )))
//
// }
return clearByte;
}
public static byte[] decryptData(byte[] input) throws Exception {
return decryptData(input DEFAULT_KEY)
}
/**
* 字节码转换成 进制字符串
*
* @param byte[] b 输入要转换的字节码
* @return String 返回转换后的 进制字符串
*/
public static String byte hex(byte[] bytes) {
StringBuilder hs = new StringBuilder()
for(byte b : bytes)
hs append(String format( % $ X b))
return hs toString()
}
public static byte[] hex byte(String content) {
int l=content length()》 ;
byte[] result=new byte[l];
for(int i= ;i<l;i++) {
int j=i《 ;
String s=content substring(j j+ )
result[i]=Integer valueOf(s ) byteValue()
}
return result;
}
/**
* 将字节数组转换为base 编码字符串
* @param buffer
* @return
*/
public static String bytesToBase (byte[] buffer) {
//BASE Encoder en=new BASE Encoder()
return Base encode(buffer)
// return encoder encode(buffer)
}
/**
* 将base 编码的字符串解码为字节数组
* @param value
* @return
* @throws IOException
*/
public static byte[] base ToBytes(String value) throws IOException {
//return Base decodeToByteArray(value)
// System out println(decoder decodeBuffer(value))
// return decoder decodeBuffer(value)
return Base decode(value)
}
/**
* 加密给定的字符串
* @param value
* @return 加密后的base 字符串
*/
public static String encryptString(String value) {
return encryptString(value DEFAULT_KEY)
}
/**
* 根据给定的密钥加密字符串
* @param value 待加密的字符串
* @param key 以BASE 形式存在的密钥
* @return 加密后的base 字符串
* @throws IOException
*/
public static String encryptString(String value String key) throws IOException {
return encryptString(value base ToBytes(key))
}
/**
* 根据给定的密钥加密字符串
* @param value 待加密的字符串
* @param key 字节数组形式的密钥
* @return 加密后的base 字符串
*/
public static String encryptString(String value byte[] key) {
try {
byte[] data=value getBytes(VALUE_ENCODING)
data=CryptUtils encryptData(data key)
return bytesToBase (data)
} catch (Exception e) {
// TODO Auto generated catch block
e printStackTrace()
return null;
}
}
/**
* 解密字符串
* @param value base 形式存在的密文
* @return 明文
*/
public static String decryptString(String value) {
return decryptString(value DEFAULT_KEY)
}
/**
* 解密字符串
* @param value base 形式存在的密文
* @param key base 形式存在的密钥
* @return 明文
* @throws IOException
*/
public static String decryptString(String value String key) throws IOException {
String s=decryptString(value base ToBytes(key))
return s;
}
/**
* 解密字符串
* @param value base 形式存在的密文
* @param key 字节数据形式存在的密钥
* @return 明文
*/
public static String decryptString(String value byte[] key) {
try {
byte[] data=base ToBytes(value)
data=CryptUtils decryptData(data key)
return new String(data VALUE_ENCODING)
}catch(Exception e) {
e printStackTrace()
return null;
}
}
}
CryptHelper java
[java]
package gdie lab crypt;
import javax crypto Cipher;
import javax crypto SecretKey;
import javax crypto SecretKeyFactory;
import javax crypto spec DESKeySpec;
import javax crypto spec IvParameterSpec;
import springframework util DigestUtils;
public class CryptHelper{
private static String CRYPT_KEY = zhongqian ;
//加密
private static Cipher ecip;
//解密
private static Cipher dcip;
static {
try {
String KEY = DigestUtils md DigestAsHex(CRYPT_KEY getBytes()) toUpperCase()
KEY = KEY substring( )
byte[] bytes = KEY getBytes()
DESKeySpec ks = new DESKeySpec(bytes)
SecretKeyFactory skf = SecretKeyFactory getInstance( DES )
SecretKey sk = skf generateSecret(ks)
IvParameterSpec iv = new IvParameterSpec(bytes)
ecip = Cipher getInstance( DES/CBC/PKCS Padding )
ecip init(Cipher ENCRYPT_MODE sk iv )
dcip = Cipher getInstance( DES/CBC/PKCS Padding )
dcip init(Cipher DECRYPT_MODE sk iv )
}catch(Exception ex) {
ex printStackTrace()
}
}
public static String encrypt(String content) throws Exception {
byte[] bytes = ecip doFinal(content getBytes( ascii ))
return CryptUtils byte hex(bytes)
}
public static String decrypt(String content) throws Exception {
byte[] bytes = CryptUtils hex byte(content)
bytes = dcip doFinal(bytes)
return new String(bytes ascii )
}
//test
public static void main(String[] args) throws Exception {
String password = gly ;
String en = encrypt(password)
System out println(en)
System out println(decrypt(en))
}
}
package gdie lab crypt;
import javax crypto Cipher;
import javax crypto SecretKey;
import javax crypto SecretKeyFactory;
import javax crypto spec DESKeySpec;
import javax crypto spec IvParameterSpec;
import springframework util DigestUtils;
public class CryptHelper{
private static String CRYPT_KEY = zhongqian ;
//加密
private static Cipher ecip;
//解密
private static Cipher dcip;
static {
try {
String KEY = DigestUtils md DigestAsHex(CRYPT_KEY getBytes()) toUpperCase()
KEY = KEY substring( )
byte[] bytes = KEY getBytes()
DESKeySpec ks = new DESKeySpec(bytes)
SecretKeyFactory skf = SecretKeyFactory getInstance( DES )
SecretKey sk = skf generateSecret(ks)
IvParameterSpec iv = new IvParameterSpec(bytes)
ecip = Cipher getInstance( DES/CBC/PKCS Padding )
ecip init(Cipher ENCRYPT_MODE sk iv )
dcip = Cipher getInstance( DES/CBC/PKCS Padding )
dcip init(Cipher DECRYPT_MODE sk iv )
}catch(Exception ex) {
ex printStackTrace()
}
}
public static String encrypt(String content) throws Exception {
byte[] bytes = ecip doFinal(content getBytes( ascii ))
return CryptUtils byte hex(bytes)
}
public static String decrypt(String content) throws Exception {
byte[] bytes = CryptUtils hex byte(content)
bytes = dcip doFinal(bytes)
return new String(bytes ascii )
}
//test
public static void main(String[] args) throws Exception {
String password = gly ;
String en = encrypt(password)
System out println(en)
System out println(decrypt(en))
}
lishixin/Article/program/Java/hx/201311/26449
Ⅵ Java加密与解密的艺术的图书目录
第1章 企业应用安全
1.1 我们身边的安全问题
1.2 拿什么拯救你,我的应用
1.2.1 安全技术目标
1.2.2 OSI安全体系结构
1.2.3 TCP/IP安全体系结构
1.3 捍卫企业应用安全的银弹
1.3.1 密码学在安全领域中的身影
1.3. 2 密码与JavaEE
1.4 为你的企业应用上把锁
1.5 小结
第2章 企业应用安全的银弹—密码学
2.1 密码学得发家史
2.1.1 手工加密阶段
2.1.2 机械加密阶段
2.1.3 计算机加密阶段
2.2密码学定义、术语及其分类
2.2.1密码学常用术语
2.2.1密码学分类
2.3 保密通信模型
2.4 古典密码
2.5 对称密码体制
2.5.1 流密码
2.5.2 分组密码
2.6 非对称密码体制
2.7 散列函数
2.8 数字签名
2.9 密码学的未来
2.9.1密码算法的破解
2.9.2 密码学的明天
2.10 小结
第3章 Java加密利器
3.1 Java与密码学
3.1.1 Java安全领域组成部分
3.1.2 关于出口的限制
3.1.3 本书所使用的软件
3.1.4 关于本章内容
3.2 java.security包详解
3.2.1 Provider
3.2.2 Security
3.2.3 MessageDigest
3.2.4 DigestInputStream
3.2.5 DigestOutputStream
3.2.6 key
3.2.7 AlgorithmParameters
3.2.8 AlgorithmParameter-Generator
3.2.9 KeyPair
3.2.10 KeyPairGenerator
3.2.11 KeyFactory
3.2.12 SecureRandom
3.2.13 Signature
3.2.14 SignedObject
3.2.15 Timestamp
3.2.16 CodeSigner
3.2.17 KeyStore
3.3 javax.crypto包详解
3.3.1 Mac
3.3.2 KeyGenerator
3.3.3KeyAgreement
3.3.4 SecretKeyFactory
3.3.5 Clipher
3.3.6 ClipherInputStream
3.3.7 ClipheroutStream
3.3.8 SealedObject
3.4 java.security.spec包和javax.crypto.spec包详解
3.4.1 KeySpec和Algorithm-ParameterSpec
3.4.2 EncodeKeySpec
3.4.3 SecreKeySpec
3.4.4 DESKeySpec
3.5 java/security.cert包详解
3.5.1 Certificate
3.5.2 CertificateFactory
3.5.3 X509Certificate
3.5.4 CRL
3.5.5 X509CRLEntry
3.5.6 X509CRL
3.5.7 CertPath
3.6 javax.net.ssl包详解
3.6.1 KeyManagerFactory
3.6.2 TrustManagerFactory
3.6.3 SSLContext
3.6.4 HttpsURLConnection
3.7 小结
第4章 他山之石,可以攻玉
4.1 加固你的系统
4.1.1 获得权限文件
4.1.2 配置权限文件
4.1.3 验证配置
4.2 加密组件BouncyCastle
4.2.1 获得加密组件
4.2.2 扩充算法支持
4.2.3 相关API
4.3 辅助工具CommonsCodec
4.3.1 获得辅助工具
4.3.2 相关API
4.4 小结 第5章 电子邮件传输算法——Base64
5.1 Base64算法的由来
5.2 Base64算法的定义
5.3 Base64算法与加密算法的关系
5.4 实现原理
5.4.1 ASCII码字符编码
5.4.2 非ASCII码字符编码
5.5 模型分析
5.6 Base算法实现
5.6.1 Bounty Castle
5.6.2 Commons Codec
5.6.3 两种实现方式的差异
5.6.4 不得不说的问题
5.7 Url Base64 算法实现
5.7.1 Bounty Castle
5.7.2 Commons Codec
5.6.3 两种实现方式的差异
5.8 应用举例
5.8.1 电子邮件传输
5.8.2 网络数据传输
5.8.3 密钥存储
5.8.4 数字证书存储
5.9 小结
第6章 验证数据完整性——消息摘要算法
6.1 消息摘要算法简述
6.1.1 消息摘要算法的由来
6.1.2 消息摘要算法的家谱
6.2 MD算法家族
6.2.1 简述
6.2.2 模型分析
6.2.3 实现
6.3 SHA算法家族
6.3.1 简述
6.3.2 模型分析
6.3.3 实现
6.4 MAC算法家族
6.4.1简述
6.4.2模型分析
6.4.3 实现
6.5 其它消息摘要算法
6.5.1 简述
6.5.2实现
6.6循环冗余校验算法——CRC算法
6.61 简述
6.62 模型分析
6.63 实现
6.7 实例:文件校验
6.8 小结
第7章 初等数据加密——对称加密算法
7.1 对称加密算法简述
7.1.1 对称加密算法的由来
7.1.2 对称加密算法的家谱
7.2 数据加密的标准——DES
7.2.1 简述
7.2.2 模型分析
7.2.3 实现
7.3 三重DES——DESede
7.3.1 简述
7.3.2 实现
7.4 高级数据加密标准——AES
7.4.1 简述
7.4.2 实现
7.5 国际数据加密——AES
7.5简述
7.5.2 实现
7.6 基于口令加密——PBE
7.6.1 简述
7.6.2 模型分析
7.6.3 实现
7.7 实例:对称加密网络应用
7.8 小结
第8章 高等数据加密——非对称加密算法
8.1 非对称加密算法简述
8.1.1 非对称加密算法的由来
8.1.2 非对称加密算法的家谱
8.2 密钥交换算法——DH
8.2.1 简述
8.2.2 模型分析
8.2.3 实现
8.3 典型非对称加密算法——RSA
8.3.1 简述
8.3.2 模型分析
8.3.3 实现
8.4 常用非对称加密算法——ELGamal
8.4.1 简述
8.4.2 模型分析
8.4.3 实现
8.5 实例:非对称加密网络应用
8.6 小结
第9章 带着密钥的消息摘要算法——数字签名算法
9.1 数字签名算法简述
9.1.1 数字签名算法的由来
9.1.2 数字签名算法的家谱
9.2 模型分析
9.3 经典签名标准算法——RSA
9.3.1 简述
9.3.2 实现
9.4 数字签名标准算法——DSA
9.4.1 简述
9.4.2 实现
9.5 椭圆曲线数字签名算法——ECDSA
9.5.1 简述
9.5.2 实现
9.6 实例:带有数字签名的加密
网络应用
9.7 小结 第10章 终极武器—数字证书
10.1数字证书详解
10.2 模型分析
10.2.1 证书签发
10.2.2 加密交互
10.3 证书管理
10.3.1 KeyTool证书管理
10.3.2 OpenSSl证书管理
10.4 证书使用
10.5 应用举例
10.6小结
第11章 终极装备—安全协议
11.1 安全协议简述
11.1.1 HTTPS协议
11.1.2 SSL/TLS协议
11.2 模型分析
11.2.1 协商算法
11.2.2 验证密钥
11.2.3 产生密钥
11.2.4 加密交互
11.3 单向认证服务
11.3.1 准备工作
11.3.2 服务验证
11.3.3 代码验证
11.4 双向认证服务
11.4.1 准备工作
11.4.2 服务验证
11.4.3 代码验证
11.5 应用举例
11.6 小结
第12章 量体裁衣—为应用选择合适的装备
12.1 实例:常规Web应用开发安全
12.1.1 常规Web应用基本实现
12.1.2 安全升级1——摘要处理
12.1.3 安全升级2——加盐处理
12.2 实例:IM应用开发安全
12.2.1 IM应用开发基本实现
12.2.2 安全升级1——隐藏数据
12.2.3 安全升级2——加密数据
12.3 实例:Web Service应用开发安全
12.3.1WebService应用几本实现
12.3.2安全升级1——单向认证服务
12.3.3安全升级2——双向认证服务
12.4小结
附录A Java6支持的算法
附录B Bouncy Castle支持的算法
Ⅶ 求助 关于计算机科学与技术专业 经典书籍
1、Java
Java编程语言(第三版)---Java四大名着----James Gosling(Java之父)
Java编程思想(第2版)----Java四大名着----Bruce Eckel
Java编程思想(第3版)----Java四大名着----------------Bruce Eckel
JAVA 2核心技术 卷I:基础知识(原书第7版)---Java四大名着-----Cay Horstmann
JAVA 2核心技术 卷II:高级特性(原书第7版)----Java四大名着-----Cay Horstmann
Effective Java中文版------Java四大名着--------Joshua Bloch
精通Struts:基于MVC的Java Web设计与开发---孙卫琴
精通Hibernate:Java对象持久化技术详解---孙卫琴
Tomcat与Java Web开发技术详解------------孙卫琴
Java与模式------------------------------阎宏
2、c#
C#程序设计-------Charles Petzold“windows编程泰山北斗”---C#语言“倚天屠龙双剑”
C# Primer中文版--------Stanley B.Lippman---C#语言“倚天屠龙双剑”
.NET框架程序设计(修订版)--------Jeffrey Richter“windows编程泰山北斗”---.NET平台四大天王
c#Windows程序设计----------Charles Petzold“windows编程泰山北斗”------.NET平台四大天王
.NET程序设计技术内幕-------------Jeff Prosise---.NET平台四大天王
.NET本质论--第1卷:公共语言运行库(中文版)--------Chris Sells---.NET平台四大天王
3、C++
C++程序设计语言(特别版)---c++八大金刚----Bjarne Stroustrup“C++之父”
C++ Primer (第3版)中文版----c++八大金刚---Stanley B.Lippman
C++ Primer (第4版)中文版----c++八大金刚---Stanley B.Lippman
C++标准程序库—自修教程与参考手册--c++八大金刚--Nicolai M.Josuttis
C++语言的设计和演化-----c++八大金刚----Bjarne Stroustrup“C++之父”
深度探索C++对象模型---c++八大金刚----Stanley B.Lippman
Essential C++中文版---c++八大金刚---Stanley B.Lippman
Effective C++中文版 2nd Edition-----c++八大金刚------Scott Meyers
More Effective C++中文版----c++八大金刚------Scott Meyers
C++编程思想(第2版) 第1卷:标准C++导引--------Bruce Eckel
C++编程思想(第2版)第2卷:实用编程技术 --------Bruce Eckel
C++程序设计--------------------------谭浩强
C++ 程序设计教程(第2版)--------------钱能
C++ Primer Plus(第五版)中文版---Stephen Prata
广博如四库全书The c++ programming language、c++ Primer
深奥如山重水复Inside the c++ object model
程序库大全The c++ standard libray
工程经验之积累Effective c++、More Effective c++、Exceptional c++
c++八大金刚:
1、Essentital c++---lippman---C++之父,旁枝暂略,主攻核心,轻薄短小,初学者
2、The c++ programming language----C++之父,技术权威,用词深峻,思想深远,c++网络全书代表,圣经。
3、c++ Primer----lippman---纵横书市十数年,c++最佳教本,c++网络全书代表。
4、Inside the c++ object model-----lippman----揭示c++底层,非常好,非常难。
5、Effective c++-----通过50个编程实例,展示专家经验,行文有趣,深处浅出。
6、More Effective c++----通过35个编程实例,展示专家经验,行文有趣,深处浅出。
7、The c++ standard libray---c++标准库的网络全书。
8、设计模式:可复用面向对象软件的基础------good!
4、c
C程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---Brian W.Kernighan“C语言之父”
C Primer Plus中文版(第五版)--------C语言“倚天屠龙双剑”---Stephen Prata
C程序设计(第三版)---------------------------谭浩强
C语言大全(第四版)---------------------------HERBERT SCHILDT
C语言接口与实现:创建可重用软件的技术-------------DAVID R.HANSON
C语言参考手册(原书第5版)--------------------------Samuel P.Harbison
C程序设计教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱与缺陷-----------------------------------Andrew Koenig
5、VB
Visual Basic .NET技术内幕-----VB编程三剑客-----------Francesco Balena“vb首席大师”
Windows程序设计-Visual Basic.NET语言描述--VB编程三剑客-----Charles Petzold“windows编程泰山北斗”---
.NET框架程序设计:Visual Basic.NET语言描述--VB编程三剑客--Jeffrey Richter“windows编程泰山北斗”---,Francesco Balena“vb首席大师”
Visual Basic 6编程技术大全------------------------Francesco Balena“vb首席大师”
Visual Basic.NET 从入门到精通-------------------------Petroutsos,E.
高级VISUAL BASIC编程-----------------------------------MATTHEW CURLAND
6、Delphi
Inside VCL(深入核心——VCL架构剖析)----------李维
Delphi 7高效数据库程序设计--------------李维
面向对象开发实践之路(Delphi版)----------李维
7、VC
Windows 程序设计(第5版)-----Charles Petzold“windows编程泰山北斗”---
Windows核心编程----------Jeffrey Richter“windows编程泰山北斗”---
Windows高级编程指南---------Jeffrey Richter“windows编程泰山北斗”---
深入浅出MFC(第二版)-----“MFC四大天王”-------侯捷
MFC Windows程序设计(第2版)---MFC四大天王”---------Jeff Prosise
Visual C++ 技术内幕(第4版)--MFC四大天王”--------David Kruglinski
深入解析MFC-------------MFC四大天王”-----------George Shepherd
Visual C++.NET 技术内幕(第6版)-MFC四大天王”------------David Kruglinski
8、VF
Visual Foxpro程序设计参考手册-------------------张洪举
专家门诊——Visual FoxPro开发答疑160问-------------------张洪举
Visual FoxPro 6.0/9.0解决方案与范例大全-------------------张洪举
Visual FoxPro软件开发模式与应用案例-------------------张洪举
9、黑客
应用密码学(协议算法与C源程序-----------Bruce Schneier
网络信息安全的真相-----------Bruce Schneier
黑客大曝光:网络安全机密与解决方案(第5版)--------STUART MCCLURE
软件加密技术内幕------------看雪学院
加密与解密——软件保护技术与完全解决方案------------看雪学院
加密与解密(第二版)--------段钢
10、汇编
Intel微处理器结构、编程与接口(第六版)---------Barry B. Brey
80*86、奔腾机汇编语言程序设计---------Barry B. Brey
Windows环境下32位汇编语言程序设计(第2版)-----------罗云彬
IBM-PC汇编语言程序设计(第2版) 本书是国内优秀教材--------沈美明 温冬婵
IBM PC汇编语言程序设计(第五版) 这本书籍是国外优秀教材-------PETER ABEL着,沈美明 温冬蝉译
11、驱动开发
Windows WDM设备驱动程序开发指南------------------------------------ Chris Cant
Windows 2000/XP WDM设备驱动程序开发(第2版)--------------------------武安河
WINDOWS 2000/XP WDM设备驱动程序开发-------------------------------- 武安河
12、网络
计算机网络第四版中文版----网络编程三剑客--------------Andrew S.Tanenbaum
TCP/IP详解3卷本--------------------Richard Stevens----网络编程三剑客
UNIX网络编程2卷本--------------------Richard Stevens----网络编程三剑客
用TCP/IP进行网际互联-----------Douglas E. Comer
高级TCP/IP编程-------------------Jon C. Snader
C++网络编程-----------------------Douglas Schmidt
UNIX环境高级编程(第2版)--------------------Richard Stevens
13、算法
计算机程序设计艺术-------Donald.E.Knuth----------算法“倚天屠龙”双剑
算法导论-----------------Thomas H. Cormen--------算法“倚天屠龙”双剑
离散数学及其应用----------Kenneth H.Rosen
具体数学—计算机科学基础--------Donald.E.Knuth
14、图形编程
Windows 图形编程----------------FENG YUAN --图形编程界的Charles Petzold之书
15、数据结构
数据结构 C++语言描述》58.00(Data Structures C++) William Ford,William Topp 刘卫东 沈官林
数据结构算法与应用-C++语言描述》49.00Sartej Sahni 汪诗林 孙晓东等机械工业出版社
16、软件工程
设计模式--可复用面向对象软件的基础
重构—改善既有代码的设计
17、操作系统
深入理解计算机系统(修订版)-------RANDAL E.BRYANT
18、Unix
UNIX 网络编程 卷I 套接字联网API(英文版 第三版
UNIX 编程艺术
UNIX环境高级编程(英文影印第2版-----UNIX编程“圣经
UNIX环境高级编程(英文影印版)(第2版)
99-UNIX环境高级编程(第2版)
UNIX环境高级编程(第2版)---UNIX编程“圣经
UNIX网络编程 第1卷:套接口API(第3版)
UNIX网络编程卷2:进程间通信(第2版)(英文影印版)
UNIX 网络编程(第二版)第2卷:进程间通信
UNIX编程环境
UNIX 网络编程 卷I 套接字联网API(英文版 第三版
UNIX系统编程
UNIX环境高级编程
UNIX环境高级编程(英文影印版
88-LINUX内核分析及编程
UNIX 网络编程 卷I 套接字联网API(英文版 第三版)
UNIX网络编程 第1卷:套接口API(第3版)
UNIX 网络编程(第二版)第2卷:进程间通信
UNIX网络编程卷2:进程间通信(第2版)(英文影印版)
UNIX 网络编程(第2版)第1卷:套接口API和X/Open 传输接口API
UNIX网络编程(卷1):连网的APLS:套接字与XTI(第二版)(英文影印版)
UNIX环境高级编程
UNIX 环境高级编程(英文版)
UNIX环境高级编程(第2版)
Unix技术手册
19、Linux
Linux内核设计与实现
Linux内核完全注释
LINUX内核分析及编程
GNU/Linux 编程指南(第二版)
Linux设备驱动程序(第三版)
嵌入式设计及Linux驱动开发指南——基于ARM 9处理器
Linux设备驱动程序 第三版(英文影印版)
Linux内核设计与实现(第2版)
Linux内核设计与实现(英文影印版)(第2版)
linux技术手册
20、游戏编程
Windows游戏编程大师技巧(第二版
游戏之旅--我的编程感悟
OpenGL超级宝典:第三版
OpenGL编程指南(第四版)
Java 游戏高级编程
J2ME手机游戏编程入门
游戏之旅——我的编程感悟
游戏开发中的人工智能(英文影印版)
3D游戏:卷2 动画与高级实时渲染技术
面向对象的游戏开发
Java 游戏高级编程
3D游戏编程大师技巧
游戏编程精粹
面向对象的游戏开发
3D游戏 卷1:实时渲染与软件技术
3D游戏:卷2 动画与高级实时渲染技…
J2ME手机游戏编程入门
Direct3D游戏编程入门教程(第二版…
21、移动开发
Windows Mobile手机应用开发
SYMBIAN OS C++手机应用开发
68-Windows Mobile手机应用开发--傅曦 齐宇 徐骏
48-SYMBIAN OS C++手机应用开发 (第2卷)------------------RICHARD HARRISON着,周良忠 王伯欣译
68-SYMBIAN OS C++手机应用开发---------------RICHARD HARRISON着,周良忠译
Windows CE.net内核定制及应用程序开发---------周毓林 宁杨 陆贵强 付林林
嵌入式系统Windows CE 开发技巧与实例--傅曦
Palm OS编程实践---绝版
Ⅷ 求Java加密与解密的艺术-梁栋书籍电子版百度云资源
《Java加密与解密的艺术》网络网盘免费资源下载:
链接: https://pan..com/s/1g6zJczJGFdX7wCkb8AxB-Q
《Java加密与解密的艺术》是2010年机械工业出版社出版的图书,作者是梁栋。本书讲解了加密技术对数字证书和SSL/TLS协议的应用,又以示例的方式讲解了加密与解密技术在网络中的实际应用。
Ⅸ 计算机软件开发编程必备知识买些什么书比较好
我是学软件的在校大学生,今年大二了!处于自己的学习,我个人认为如果你是初学者,我建议你可以下载些视频教学,清华的比较好。还有要学好C语言、数据结构、数据库。这样有助于你以后学习高级语言。
希望以上内容能帮上你。