异或可逆加密操作:A对B异或结果C;A对C异或结果为A;二次异或是本身
package en_decode; public class test {
public static String xor(String input) {
char[]chars=input.toCharArray();
for(int i=0;i<chars.length;i++) {
chars[i]=(char) (chars[i]^3000); //^异或
}
String new1=new String(chars);
return new1;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String aString="abc";
aString=xor(aString);
System.out.println(aString); aString=xor(aString);
System.out.println(aString);
} }

  

package en_decode;

import org.apache.commons.codec.digest.DigestUtils;

public class test {
// public static String xor(String input) {
// char[]chars=input.toCharArray();
// for(int i=0;i<chars.length;i++) {
// chars[i]=(char) (chars[i]^3000); //^异或
// }
// String new1=new String(chars);
// return new1;
// }
//
public static String MD5encode(byte[] input) {//速度快,不可逆 安全性低 return DigestUtils.md5Hex(input); }
public static String SHAencode(byte[] input) {//速度慢 不可逆 安全性高 return DigestUtils.sha256Hex(input); }
public static void main(String[] args) {
// // TODO Auto-generated method stub
// String aString="abc";
// aString=xor(aString);
// System.out.println(aString);
//
// aString=xor(aString);
// System.out.println(aString);
String gg="hello";
String t1=MD5encode(gg.getBytes());
System.out.println(t1); String t2=SHAencode(gg.getBytes());
System.out.println(t2);
} }

  

package en_decode;
import org.apache.commons.codec.binary.Base64;
public class test { public static byte[] decode( String gg) {
return Base64.decodeBase64(gg);
}
public static String encode(byte[] bytes) {
return new String(Base64.encodeBase64(bytes));
}
public static void main(String[] args) { String gg="hello";
gg=encode(gg.getBytes());
System.out.println(gg);
byte[]hh=decode(gg);
System.out.println(new String(hh)); } }

  导入包:commons-codec-1.10

base64、sha256、MD5加密的更多相关文章

  1. iOS base64编码 MD5 加密

    //创建一个Base64编码的NSString对象 //字符串 转二进制 NSData *nsdata = [@"iOS Developer Tips encoded in Base64&q ...

  2. nodejs 使用crypto实现sha256\md5加密

    var crypto = require('crypto'); var hash = crypto.createHash('sha256');// sha256或者md5 hash.update('1 ...

  3. MD5加密、时间戳转换、base64算法加密、解密

    #region MD5加密 /// <summary> /// MD5加密 /// </summary> /// <param name="str"& ...

  4. MD5加密,Base64加密/解密,AES加密/解密

    1.从github上下载GTMBase64-master和AESCrypt-ObjC-master导入工程,如下图所示. 2.使用前的配置及注意事项: (1) 在build phases中的GTMBa ...

  5. Java实现 Base64、MD5、MAC、HMAC加密

    开始对那些基本的加密还不怎么熟练,然后总结了些,写了一个测试:支持 Base64.MD5.MAC.HMAC加密,长话短说,我们都比较喜欢自己理解,看代码吧! 采用的输UTF-8的格式... packa ...

  6. Java实现 Base64、MD5、MAC、HMAC加密(转)

    开始对那些基本的加密还不怎么熟练,然后总结了些,写了一个测试:支持 Base64.MD5.MAC.HMAC加密,长话短说,我们都比较喜欢自己理解,看代码吧! 采用的输UTF-8的格式... packa ...

  7. Linux下使用MD5加密BASE64加密

    这里以字符串123456为例子,它的md5密文值为:e10adc3949ba59abbe56e057f20f883e 这里以1.txt为需要被加密的文件. 一. 用oppnssl md5 加密字符串和 ...

  8. .net实现md5加密 sha1加密 sha256加密 sha384加密 sha512加密 des加密解密

    写项目时,后台一直用md5加密,一天群里人问,除了MD5还有其它的加密方法吗?当时只知道还有个SHA,但怎么实现什么的都不清楚,于是当网上找了下,把几种常见的加密方法都整理了下,用winform写了个 ...

  9. js的常见的三种密码加密方式-MD5加密、Base64加密和解密和sha1加密详解总结

    写前端的时候,很多的时候是避免不了注册这一关的,但是一般的注册是没有任何的难度的,无非就是一些简单的获取用户输入的数据,然后进行简单的校验以后调用接口,将数据发送到后端,完成一个简单的注册的流程,那么 ...

  10. JS实现的base64加密、md5加密及sha1加密详解

    1.base64加密 在页面中引入base64.js文件,调用方法为: <!DOCTYPE HTML> <html> <head> <meta charset ...

随机推荐

  1. 极限IO优化

    namespace IO{ #define BUF_SIZE 100000 #define OUT_SIZE 100000 #define ll long long //fread->read ...

  2. linux(centos6) 常用操作

    目录 一.开机关机 1.Linux centos重启命令: 2.Linux centos关机命令: 二.图形界面与命令界面的切换 1.修改/etc/inittab文件,文件中,最后一行id:5:ini ...

  3. memset函数及原补反码关系

    memset函数及原补反码关系 计算机存储的是补码 几组常用的memset函数初始化值 10000000 128 10000000 10000000 10000000 10000000 -213906 ...

  4. 创建线程方法&守护线程

    创建线程方法1. class mythread extends Thread{ 重写run方法 } mythread m=new mythread () 启动:m.start() 创建线程方法2. c ...

  5. inline-block 导致元素下沉 解决方法添加vertical-align:middle属性

    <div class="layui-input-block"> <input name="username" lay-verify=" ...

  6. ubuntu16安装,配置前端开发环境

    1.安装ubuntu    使用usio制作U盘安装工具 2.安装搜狗输入法 3.安装QQ 4.安装nodejs node-v0.12.4 node-v0.12.4.tar.gz root@ubunt ...

  7. vb写文件时报'Invalid procedure call or argument'

    原来的一段代码是这样的: Set fso3 = CreateObject("Scripting.FileSystemObject")                  'msgbo ...

  8. js事件处理程序详解,html事件处理程序,dom0级事件处理程序,dom2级事件处理程序

    博客搬迁,给你带来的不便,敬请谅解! http://www.suanliutudousi.com/2017/11/24/js%e4%ba%8b%e4%bb%b6%e5%a4%84%e7%90%86%e ...

  9. 数据持久化之嵌入式数据库 SQLite(三)

    阿里P7Android高级架构进阶视频免费学习请点击:https://space.bilibili.com/474380680 SQLite 是 D. Richard Hipp 用 C 语言编写的开源 ...

  10. Android组件内核之间组件间通信方案(四)下篇

    阿里P7Android高级架构进阶视频免费学习请点击:https://space.bilibili.com/474380680本篇文章将继续从以下两个内容来介绍通信方案: [ViewModel 与 V ...