Java加密体系

大家都知道,JAVA是安全的,比如自动内存管理;自动数组溢出检讨;字节代码的验证机制;独特的安全类加载。




JAVA都是须要编译成.class格式后再实行,其他人看不到项部的源代码,在代码的安全性就很高。
JAVA平台已经实现好了加密算法只要调用类就可以了,在JAVA加密体系中JCA和JCE是JAVA中的两个主要的框架:

JCA——Java Cryptography Architecture

phpmd5和javamd5加密Java加密系统MD5算法 JavaScript

数字署名

信息择要

JCE——Java Cryptography Extension

MD5(择要算法)

SHA(安全散列算法)

DES(数据加密算法)

理论知识我就再啰嗦了,有兴趣多理解的可以去查询干系方面的知识进行学习;接下来我来实行利用JAVA进行MD5加密,步骤大略

初始化MessageDigest信息择要工具

传入须要打算的字条串更新择要工具

打算信息择要

将byte[]转换为长度为32位的16进制字符串

源代码如下:

package com.qzh.test; import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.Scanner; public class MD5Test { public void TestMD5(String input) throws NoSuchAlgorithmException, UnsupportedEncodingException{//1.初始化MessageDigest信息择要工具MessageDigest md = MessageDigest.getInstance(\"大众md5\"大众);//2.传入须要打算的字条串更新择要工具md.update(input.getBytes(\"大众UTF-8\"大众));//3.打算信息择要byte[] hashCode = md.digest();//4.将byte[]转换为长度为32位的16进制字符串StringBuffer sb = new StringBuffer();for(byte b:hashCode){sb.append(Character.forDigit((b>>4) & 0xf, 16));sb.append(Character.forDigit(b & 0xf, 16));}System.out.println(\公众加密后:\"大众 + sb.toString());}public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException {Scanner scanner = new Scanner(System.in);System.out.println(\"大众请输入你要加密的数据......\"大众);String input = scanner.nextLine();MD5Test md5 = new MD5Test();md5.TestMD5(input);}}

实行后如下图:

可以看出,“邱子豪”三个字,经由JAVA中MD5算法加密后是:3670cfbab80f4888d59a04d2a3daf3f9 ;