`

密码MD5加密及日期转换器

阅读更多

今天继续学习bbs项目,汤老师讲了会员注册的实现,要对密码进行md5加密,日期型的属性存入数据库前要进行解析,如会员的生日,注册日期等。还有要对用户注册信息进行服务器和客户端验证。下面介绍一下我在学习中遇到的比较重要的知识。

 昨天概述了一下md5加密算法,MessageDigest实例对象的digest方法产生数字摘要是一个字节数组,我们应该将这个字节数组转换为16进制的字符串,再存入数据库。具体实现如下:
              //获得md5算法的MessageDigest实例对象,
        public static String digest(String str){
                 MessageDigest md = MessageDigest.getInstance("MD5");
   //传入要进行数字摘要运算的数据源
   md.update(str.getBytes("utf-8"));
   //得到数字摘要字节数组
   byte[] buf = md.digest();
   //得到16进制的字符串
   StringBuffer hexString = new StringBuffer();
   for (byte b : buf) {
                                                     //如果大于00001111,则直接添加其转换后的字符串
    if ((b & 0xff) > 0xf) {
     hexString.append(Integer.toHexString(0xff & b));
                                                    //先添加个“0”,再添加其转换后的字符串
    } else {
     hexString.append("0").append(Integer.toHexString(0xff & b));
    }
   }

   return hexString.toString();
    }

       simpleDateFormat 的format() 和parse方法,分别用于日期/时间的格式化和解析。format方法将日期/时间对象格式化为符合某个本地环境的字符串,parse方法将符合某个本地环境的日期/时间字符串解析为日期/时间对象。
         写一个日期转换器,在日期型和字符串型之间转换,
1,写一个实现org.apache.commons.beanutils.Converter的日期转换器类DateConverter类 ,按一定格式把字符串型的日期解析成Date型的,
public class ActionFormDateConverter implements Converter {
 private static final Log log = LogFactory.getLog(ActionFormDateConverter.class);
 private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

 @SuppressWarnings("unchecked")
 public Object convert(Class clazz, Object value) {
  if (value == null) {
   return null;
  }

  String source = (String) value;
  try {
   return new ActionFormDate(sdf.parse(source));
  } catch (ParseException e) {
   log.debug(e.getMessage());
   return null;
  }
 }

}
2,写一个ActionFormDate类,它继承Date类,用于定义要进行解析的属性。
public class ActionFormDate extends Date {
 private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

 public ActionFormDate() {
 }

 public ActionFormDate(Date date) {
  super(date.getTime());
 }

 @Override
 public String toString() {
  return sdf.format(this);
 }
}
3,写一个Servlet,把转换器类注册进org.apache.commons.beanutils.ConvertUtils

ConvertUtils.register(new ActionFormDateConverter(), ActionFormDate.class);

4,在web.xml文件中注册第3步写的servlet。
5,这样就可以在formbean中用ActionFormDate定义要进行解析的日期行属性了。

   有文件上传时。 jsp页面的表单<form>中要添加属性enctype="multipart/form-data"。


 对上传图片进行存储,要使用org.apache.struts.upload.FormFile类,它有一个getFileData()方法可以读取浏览器端上传数据的字节数组。

分享到:
评论

相关推荐

    计算MD5加密

    在IT领域,MD5常用于数据校验、密码存储和文件完整性验证。本项目是基于C# Winform平台开发的一个小程序,用于计算文件的MD5值。 在Winform应用程序中,用户界面的交互至关重要。"文件拖拽"功能允许用户直接将文件...

    Java帐号管理系统(MD5加密)_毕业设计源码.rar

    登录时,输入的密码也会被MD5加密,然后与数据库中的加密密码进行比较。 - **会话管理**:登录成功后,系统通常使用session来跟踪用户状态,直到用户主动退出或会话超时。 2. **MD5加密**: - **MD5概述**:MD5...

    开发小工具(MD5、正则表达式等)

    标题中的“开发小工具(MD5、正则表达式等)”表明这是一个集成了一系列用于软件开发辅助功能的应用程序,其中包括MD5加密算法和正则表达式处理。MD5是一种广泛使用的哈希函数,用于信息安全领域,例如文件校验和、...

    c# 加密和解密相关代码

    添加一个Button 控件,用来使用MD5算法对输入的数据进行加密。 (3)程序主要代码如下: public string Encrypt(string strPwd) { MD5 md5 = new MD5CryptoServiceProvider(); //创建MD5 对象 byte[] data = System....

    Util包分页标签、各种时间的操作方法、设置字符编码、数据类型转换、用户权限过滤

    本篇文章将深入探讨`Util`包中涉及的一些关键知识点,包括MD5加密、分页标签、时间操作、字符编码设置、数据类型转换以及用户权限过滤。 1. **MD5加密**: MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希...

    分享28个java常用的工具类源码打包下载

    本资源分享了28个Java常用的工具类源码,涵盖了多种实用功能,包括添加水印、文件上传、生成略缩图、文件操作、MD5加密、时间日期处理、字符串操作以及过滤器和数据导出到Excel。 1. **添加水印**:在图像处理中,...

    android常用工具类

    在Android中,MD5常用于存储密码的安全处理,防止明文密码泄露。通过`java.security.MessageDigest`类,我们可以创建一个MD5实例并进行加密。 2. **软件升级**: 在Android应用中,软件升级功能确保用户始终使用...

    ASP.NET基础控件-教程

     用户MD5加密  ASP.net验证码实现  图片水印  防盗链  .NET(C#)连接各类数据库  读取配置文件数据库连接串  正则表达式验证  递归把十进制转换八进制(面试题目)  Mysql测试连接(DLL的引用)(插入与读取)  ...

    最新版全功能版PHP在线工具箱源码-66toolkit v16.0.0

    6. MD5生成器工具:可以生成指定字符串的MD5加密串,常用于密码存储和数据校验。 7. Base**转换工具:支持将文本数据按照不同的编码格式进行转换,方便在不同环境中进行数据传输和处理。 8. Base**图像转换工具:...

    senlon实用查询工具大全 v2014 本地数据库版.zip

    IP地址查询、html加密解密、弹出式窗口代码生成、、CSS生成器、html与js代码互转、HTML转换PHP代码、HTML转换为Perl代码、框架网页代码生成、GB2312转UTF8代码、网页调式器、字符串长度计算、md5加密代码、Encode...

    自己收集的JAVA工具类

    5. **MD5加密**:MD5是一种常用的哈希函数,常用于密码存储。该工具类可能包含一个方法,接受字符串作为输入,返回其MD5哈希值。虽然MD5在安全性方面已不推荐,但仍在一些场景下被用作快速的非唯一标识。 6. **JDBC...

    java开源包7

    用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512". 高性能RPC框架 nfs-rpc nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用...

    JAVA与数据库实训_总结.pdf

    为了增强安全性,我们采用了MD5加密算法对用户密码进行处理。此外,还涉及到日期数据类型的转换。 3. 验证码与Servlet: 实训中,我们实现了图形验证码功能,提升了用户注册的安全性。同时,深入学习了Servlet的...

    springboot-utils.zip

    MD5码生成器则是用于对数据进行安全加密的工具。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,能将任意长度的信息映射为固定长度的摘要信息。在SpringBoot中,我们可以创建一个`MD5Util`类,利用...

    SSM,crm项目

    9. **MD5加密**:用户数据的安全性至关重要,MD5是一种常用的哈希算法,可用于密码的加密存储,防止明文泄露。 10. **数据分页**:在展示大量数据时,数据分页技术能够提高用户体验,通常结合MyBatis的分页插件或...

    WinHex V15.1 和 V16.7 汉化版

    - 256 位 AES 加密,校验和,CRC32,哈希算法 (MD5,SHA-1,...) - 数据擦除功能,可彻底清除存储介质中残留数据 - 可导入剪贴板所有格式数据,包括 ASCII、16 进制数据 - 可进行 2 进制、16 进制 ASCII,Intel 16 进制...

    C程序范例宝典(基础代码详解)

    实例286 MD5加密 412 实例287 RSA加密 419 实例288 DES加密 420 实例289 RC4加密 424 实例290 SHA1加密 427 实例291 恺撒加密 432 第11章 游戏 435 实例292 猜数字游戏 436 实例293 24点游戏 438...

    个人(wangjun)工具类实例

    7. **加密解密工具类**:实现常见的MD5、SHA、AES等加密算法,保护敏感数据的安全。 8. **随机数生成器**:提供随机数或随机字符串的生成,用于测试或密码生成等场景。 9. **线程工具类**:包含线程的启动、停止、...

Global site tag (gtag.js) - Google Analytics