易截截图软件、单文件、免安装、纯绿色、仅160KB

Java加密和数字签名编程快速入门

      本文主要谈一下密码学中的加密和数字签名,以及其在java中如何进行使用。对密码学有兴趣的伙伴,推荐看Bruce Schneier的著作:Applied Crypotography。在jdk1.5的发行版本中安全性方面有了很大的改进,也提供了对RSA算法的直接支持,现在我们从实例入手解决问题(本文仅是作为简单介绍):
  一、密码学上常用的概念 
  1)消息摘要:
  这是一种与消息认证码结合使用以确保消息完整性的技术。主要使用单向散列函数算法,可用于检验消息的完整性,和通过散列密码直接以文本形式保存等,目前广泛使用的算法有MD4、MD5、SHA-1,jdk1.5对上面都提供了支持,在java中进行消息摘要很简单, java.security.MessageDigest提供了一个简易的操作方法:
Java代码
/**  
*MessageDigestExample.java  
*Copyright 2005-2-16  
*/  
import java.security.MessageDigest;   
/**  
*单一的消息摘要算法,不使用密码.可以用来对明文消息(如:密码)隐藏保存  
*/  
public class MessageDigestExample{   
 public static void main(String[] args) throws Exception{   
  if(args.length!=1){   
   System.err.println("Usage:java MessageDigestExample text");   
   System.exit(1);   
  }   
  
  byte[] plainText=args[0].getBytes("UTF8");   
  
  //使用getInstance("算法")来获得消息摘要,这里使用SHA-1的160位算法   
  MessageDigest messageDigest=MessageDigest.getInstance("SHA-1");   
  
  System.out.println("\n"+messageDigest.getProvider().getInfo());   
  //开始使用算法   
  messageDigest.update(plainText);   
  System.out.println("\nDigest:");   
  //输出算法运算结果   
  System.out.println(new String(messageDigest.digest(),"UTF8"));   
 }   
}   
/**
*MessageDigestExample.java
*Copyright 2005-2-16
*/


相关文档:

【转】Java程序性能优化

一、避免在循环条件中使用复杂表达式
在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。
例子:
import java.util.Vector;
class CEL {
    void method (Vector vector) {
        ......

Java Set Delete Remove

       // 删除时必须通过iterator.remove()来执行,不能直接使用set的remove()来执行,不然会出现java.util.ConcurrentModificationException异常
/*       Iterator<String> delIter = keySet.iterator();
      ......

巨人网络java笔试基础题

1、String是最基本的数据类型吗?
基本数据类型包括byte、int、char、long、float、double、boolean和short。
java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类
2、int 和 Integer 有什么区别
Java 提供两种不同的类型:引用类型和原始类型( ......

优化Java中的正则表达式

原文地址: http://www.javaworld.com/javaworld/jw-09-2007/jw-09-optimizingregex.html
       
如果你花费了数小时和正则表达式做斗争,只是为了让它完成它几秒内就可以完成的匹配,那么这篇文章正是为你量身定做的。Cristian
Mocanu指出了在什么地方正则模式匹配会发生延迟 ......

不错的经典文章:java提速

Java语言特别强调准确性,但可靠的行为要以性能作为代价。这一特点反映在自动收集垃圾、严格的运行期检查、完整的字节码检查以及保守的运行期同步等等方面。对一个解释型的虚拟机来说,由于目前有大量平台可供挑选,所以进一步阻碍了性能的发挥。
“先做完它,再逐步完善。幸好需要改进的地方通常不会太多。”( ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号