仓酷云

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

[学习教程] JAVA教程之一个完成MD5的简便的java类

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:53:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
J2ME在手机游戏开发的作用也是无用质疑的。至于桌面程序,可能有人说java不行,界面不好看,但是请看看NetBeans和Eclipse吧,他们都是利用java开发的,而他们的界面是多么的华丽,所以界面决不是java的缺点。还有一个不得不提的优点就是大多java人员都挂在嘴边的java的跨平台性,目前这确实也是java优点之一。因为动静择要独一性和不成逆性的特性,以是不掉为一种复杂的经常使用的加密手腕,好比你能够用md5来加密你的使用中的用户口令。


  • packagetest;
  • importjava.security.MessageDigest;
  • /**
  • *<p>Title:</p>
  • *<p>Description:</p>
  • *<p>Copyright:Copyright(c)2003</p>
  • *<p>Company:</p>
  • *@authorunascribed
  • *@version1.0
  • */

  • publicclassStringUtil{

  • privatefinalstaticString[]hexDigits={
  • "0","1","2","3","4","5","6","7",
  • "8","9","a","b","c","d","e","f"};

  • /**
  • *转换字节数组为16进制字串
  • *@paramb字节数组
  • *@return16进制字串
  • */

  • publicstaticStringbyteArrayToHexString(byte[]b){
  • StringBufferresultSb=newStringBuffer();
  • for(inti=0;i<b.length;i++){
  • resultSb.append(byteToHexString(b));
  • }
  • returnresultSb.toString();
  • }

  • privatestaticStringbyteToHexString(byteb){
  • intn=b;
  • if(n<0)
  • n=256+n;
  • intd1=n/16;
  • intd2=n%16;
  • returnhexDigits[d1]+hexDigits[d2];
  • }

  • publicstaticStringMD5Encode(Stringorigin){
  • StringresultString=null;

  • try{
  • resultString=newString(origin);
  • MessageDigestmd=MessageDigest.getInstance("MD5");
  • resultString=byteArrayToHexString(md.digest(resultString.getBytes()));
  • }
  • catch(Exceptionex){

  • }
  • returnresultString;
  • }

  • publicstaticvoidmain(String[]args){
  • System.err.println(MD5Encode("a"));
  • }
  • }


在RFC1321中,给出了Testsuite用来查验你的完成是不是准确:

MD5("")=d41d8cd98f00b204e9800998ecf8427e
MD5("a")=0cc175b9c0f1b6a831c399e269772661
MD5("abc")=900150983cd24fb0d6963f7d28e17f72
MD5("messagedigest")=f96b697d7cb7938d525a2f31aaf161d0
MD5("abcdefghijklmnopqrstuvwxyz")=c3fcd3d76192e4007dfb496cca67e13b


令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。
只想知道 该用户已被删除
沙发
发表于 2015-1-21 16:42:14 | 只看该作者
是一种为 Internet发展的计算机语言
山那边是海 该用户已被删除
板凳
发表于 2015-1-24 17:51:22 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
飘灵儿 该用户已被删除
地板
发表于 2015-2-2 11:37:26 | 只看该作者
是一种突破用户端机器环境和CPU
莫相离 该用户已被删除
5#
发表于 2015-2-4 21:16:52 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
因胸联盟 该用户已被删除
6#
发表于 2015-2-10 23:44:28 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
飘飘悠悠 该用户已被删除
7#
发表于 2015-2-23 09:26:13 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
深爱那片海 该用户已被删除
8#
发表于 2015-2-24 02:52:57 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
小妖女 该用户已被删除
9#
发表于 2015-3-2 23:42:51 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
再见西城 该用户已被删除
10#
发表于 2015-3-3 21:13:54 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
活着的死人 该用户已被删除
11#
发表于 2015-3-7 01:04:24 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
精灵巫婆 该用户已被删除
12#
发表于 2015-3-7 18:14:10 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
柔情似水 该用户已被删除
13#
发表于 2015-3-12 13:55:41 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
透明 该用户已被删除
14#
发表于 2015-3-12 17:20:50 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
海妖 该用户已被删除
15#
发表于 2015-3-19 23:50:50 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
灵魂腐蚀 该用户已被删除
16#
发表于 2015-3-22 01:08:01 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
谁可相欹 该用户已被删除
17#
发表于 2015-4-1 15:09:17 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
再现理想 该用户已被删除
18#
发表于 2015-4-5 13:57:20 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
小魔女 该用户已被删除
19#
发表于 2015-4-11 11:29:29 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
金色的骷髅 该用户已被删除
20#
发表于 2015-4-16 00:21:29 | 只看该作者
是一种使用者不需花费很多时间学习的语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 07:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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