JavaWeb学习笔记之表单数据处理类
来源:互联网 发布:ios leancloud数据库 编辑:程序博客网 时间:2024/05/18 03:12
一、*在现实安全注册与登陆操作中,对表单的校验基本都通过JavaScript脚本语言进行校验。但是,javascript脚本语言也存在一些表单校验的局限性。表单处理类主要执行两方面的内容:一方面是将表单信息中的密码进行MD5转码;另一方面是校验表单中的信息是否存在非法的字符,在这里主要校验SQL注入的非法字符。
1、创建将指定字符串进行MD5转码的encode()方法
import java.security.*;//为安全框架提供类和接口public class Encrypt { //创建指定字符串进行MD5转码的encode()方法,该方法返回值为String类型,该返回值为进行MD5转码后的字符串。 public static String encode(String str){ if(null == str){ return null; } StringBuilder sb = new StringBuilder();//创建一个可变字符序列的对象 try { //创建具体指定算法名称的信息摘要 MessageDigest code = MessageDigest.getInstance("MD5"); code.update(str.getBytes()); //使用指定的字节数组对摘要进行最后的更新,然后完成摘要计算 byte [] bs = code.digest(); //进行指定算法的计算 for(int i=0;i<bs.length;i++){ int v= bs[i] & 0xFF; if(v < 16){ sb.append(0); } //向可变字符序列添加转码后的字符串 sb.append(Integer.toHexString(v)); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } return sb.toString().toUpperCase(); }}
首先生成MD5信息摘要MessageDigest对象,然后调用digest()方法对字符串的字节数进行加密,得到一个加密后的字节数组,该字节数组被转换成十六进制的字符串,变成大写形式,便生成了一个长度为32位的密码字符串
2、JUnit测试代码
public class MD5test { @BeforeClass public static void setUpBeforeClass() throws Exception { } @AfterClass public static void tearDownAfterClass() throws Exception { } @Test public void test() { String str1 = "abcd"; String str2 = Encrypt.encode(str1); System.out.println("转码前的字符串:"+str1); System.out.println("转码后的字符串:"+str2); }
测试结果
转码前的字符串:abcd转码后的字符串:E2FC714C4727EE9395F324CD2E7F331F
3、创建校验指定字符串是否存在非法字符
public static boolean isValidInput(String str){ return str.matches("[a-z0-9]+"); }
0 0
- JavaWeb学习笔记之表单数据处理类
- PHP学习笔记之表单数据处理
- JavaWeb学习笔记之MVC
- JavaWeb学习笔记之servlet
- 学习笔记之 JAVAWEB过滤器
- JavaWeb学习笔记之数据库连接
- javaweb学习笔记之servlet01
- JavaWeb学习笔记之Servlet
- JavaWeb学习笔记05-表单提交方式以及xml
- JavaWeb学习笔记——获取表单数据
- Angular4学习笔记之表单
- 系统学习JavaWeb之七servlet处理HTML表单
- JavaWeb初级学习 之 会话控制&表单重复提交问题
- 电子表单系列谈之表单数据处理
- JavaWeb学习笔记之xml&DTD&schema
- JavaWeb学习笔记之xml解析
- JAVAWEB学习笔记之Servlet详解
- JavaWeb自学之css学习笔记
- 2600:War
- ubuntu git安装
- ASP.NET中的几种弹出框提示基本实现方法
- Fliter设置字符编码,解决中文问题
- 快速开发一个PHP扩展
- JavaWeb学习笔记之表单数据处理类
- PAT(甲级)1045
- CAS 自定义数据源
- 软件测试中的性能指标
- test
- POJ 1207
- PAT(甲级)1046
- 【小牛分享】jquery mobile网页demo实例代码下载
- 基本算法研究1-冒泡排序算法测试