BASE64、MD5、SHA1
来源:互联网 发布:淘宝卖家给买家的好评 编辑:程序博客网 时间:2024/06/10 13:17
BASE64
package base64;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;public class BASE {/** * BASE解密 * * @param key * @return * @throws Exception */public static byte[] decryptBASE(String key) throws Exception {return (new BASE64Decoder()).decodeBuffer(key);}/** * BASE加密 * * @param key * @return * @throws Exception */public static String encryptBASE(byte[] key) throws Exception {return (new BASE64Encoder()).encodeBuffer(key);}public static void main(String[] args) {String str = "Hello world";try {String result = BASE.encryptBASE(str.getBytes());System.out.println("result-->加密数据:" + result);byte result1[] = BASE.decryptBASE(result);String str1 = new String(result1);System.out.println("str-->解密数据:" + str1);} catch (Exception e) {e.printStackTrace();}}}
MD5
package md5;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5Tool {public final static String MD5(String str) {char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9','A', 'B', 'C', 'D', 'E', 'F', };byte[] btInput = str.getBytes();try {// 获得MD5摘要算法的MessageDigest对象,提供信息摘要功能MessageDigest mdInst = MessageDigest.getInstance("MD5");// 使用输入的字节更新摘要mdInst.update(btInput);// 获得密文byte[] code = mdInst.digest();// 把密文转换成十六进制的字符串形式char strChar[] = new char[code.length * 2];int k = 0;for (int i = 0; i < code.length; i++) {byte byte1 = code[i];strChar[k++] = hexDigits[byte1 >>> 4 & 0xf];strChar[k++] = hexDigits[byte1 & 0xf];}return new String(strChar);} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return null;}public static void main(String[] args) {System.out.println(MD5Tool.MD5("加密"));System.out.println(MD5Tool.MD5("加密"));System.out.println(MD5Tool.MD5("加密1"));System.out.println("---------------");System.out.println(MD5Tool.MD5("abcdefg"));System.out.println(MD5Tool.MD5("abcdefg"));System.out.println(MD5Tool.MD5("abcdefh"));}}
SHA1
package sha;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class SHA1 {public static String getSha1(String str){ if (null == str || 0 == str.length()){ return null; } char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; try { //得到SHA1的MessageDigest对象 MessageDigest mdTemp = MessageDigest.getInstance("SHA1"); // 使用输入的字节更新摘要 mdTemp.update(str.getBytes("UTF-8")); //获得加密信息 byte[] md = mdTemp.digest(); int j = md.length; char[] buf = new char[j * 2]; int k = 0; //将字节转化为16进制 for (int i = 0; i < j; i++) { byte byte0 = md[i]; // hexDigits[byte0 >>> 4 & 0xf] ,byte0无符右移4位,取与获得高四位(<=15), buf[k++] = hexDigits[byte0 >>> 4 & 0xf]; //hexDigits[byte0 & 0xf]获取低四位,这也是char str[] = new char[j * 2];的原因, buf[k++] = hexDigits[byte0 & 0xf]; } return new String(buf); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); }return null;}public static void main(String[] args) {String string = "hello world";String enString = SHA1.getSha1(string);System.out.println(string+"加密->"+enString.toUpperCase());}}
来自网络,方便以后查看
阅读全文
0 0
- MD5 SHA1 BASE64加密算法
- MD5 SHA1 BASE64加密算法
- BASE64、MD5、SHA1
- [VB.NET]MD5/SHA1/Base64
- c++ 加密MD5/SHA1/BASE64
- ruby md5,sha1,base64 加密
- MD5 base64 sha1 加密,解密
- urlencode/base64/sha1/md5学习
- cocos2d-x加密MD5/SHA1/BASE64
- Java Base64、AES、SHA1、MD5加密算法
- python 三个常用加密 base64,md5,sha1
- commons-codec 加密(MD5 SHA1 BASE64)
- cocos2d-x加密MD5/SHA1/BASE64
- python:自定义函数、hashlib(md5、sha1)、base64
- Base64,DES,RSA,SHA1,MD5笔记
- Java Base64、AES、SHA1、MD5加密算法
- md5加密,Base64加密解密,SHA1生成
- Java Base64、AES、SHA1、MD5加密算法
- 国内最火的 HTML、CSS、JavaScript 开源项目 Top 榜,你知多少?
- iOS- 11设置导航条(扩展类UIBarButtonItem)
- yii2 Rbac使用yii命令一键建表
- MyBatis
- 菜鸟的第一博>_<
- BASE64、MD5、SHA1
- QWidget子窗口中setStyleSheet无效,解决方法
- python数据可视化——安装matplotlib
- 文件的下载之fileupload组件
- SpringBoot 使用druid监控数据库
- 2017年PHP程序员未来路在何方
- WPF窗体的生命周期
- group by 高级用法超详细总结
- Qt之设置QWidget背景色