Java 加密解密技术学习之BASE64
来源:互联网 发布:淘宝黑刷干货 编辑:程序博客网 时间:2024/06/05 07:14
加密解密我想作为一位开发人员都接触过,我最先了解到的是MD5、BASE64加密。有的人说BASE64不算正式的加密,属于编码格式的不是编码算法。在之后的工作中难免要和第三方合作,这其中就用到了加密解密和签名的问题。这其中就让我们注意到哪些加密更安全,如果双方或多方传数据更安全有效。下面这篇文章比我讲的详细大家可以看看!
这里有一篇文章介绍对称加密和非对称加密(点击我)
我今天写了一个BASE64的加密和解密代码算是我进入加密解密技术的第一步吧,希望多多指教!
import java.io.IOException;import java.io.UnsupportedEncodingException;import org.apache.commons.codec.binary.Base64;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;public class EncryptAndDecryptUtil { /** * 加密的内容 */ private static String content = "我就是要被加密的内容"; /** * * 创建人:yusq * @Title: Base64EncryptBackStr * @Description: TODO(返回加密后的内容) * @param bytes--此参数是 将加密前的内容字节化 * @return 返回加密后的内容 */ public static String Base64EncryptEncodeBackStr(byte[] bytes){ //加密后的内容 5oiR5bCx5piv6KaB6KKr5Yqg5a+G55qE5YaF5a65 return Base64.encodeBase64String(bytes); } /** * * 创建人:yusq * @Title: encodeBase64StringByte * @Description: TODO(根据加密方式将要加密的内容字节化) * @param content 要加密的内容 * @return */ public static byte[] encodeBase64StringByte(String content){ byte[] s = null; try { s = content.getBytes("UTF-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } return s; } /** * * 创建人:yusq * @Title: Base64DecryptDecodeBackStr * @Description: TODO(将加密后的内容进行反解密 字节化 后 生成解密后的真是内容) * @param code 加密后的内容 * @return */ public static String Base64DecryptDecodeBackStr(String code){ String decode = null; try { decode = new String(decodeBase64StringByte(code), "UTF-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } return decode; } /** * * 创建人:yusq * @Title: decodeBase64StringByte * @Description: TODO(将加密后的内容进行反解密 字节化) * @param code 加密后的内容 需要进行反解密的 * @return */ public static byte[] decodeBase64StringByte(String code){ byte[] decodeByte = null; try { decodeByte = new BASE64Decoder().decodeBuffer(code); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return decodeByte; } public static void main(String[] args) { System.out.println("加密前的内容:"+content); String code = Base64EncryptEncodeBackStr(encodeBase64StringByte(content)); System.out.println("加密后:"+code); String value = Base64DecryptDecodeBackStr(code); System.out.println("解析加密后的内容:"+value); }}
执行main方法控制台打印执行内容
–>加密前的内容:我就是要被加密的内容
–>加密后:5oiR5bCx5piv6KaB6KKr5Yqg5a+G55qE5YaF5a65
–>解析加密后的内容:我就是要被加密的内容
前文也说了BASE64是双向加密解密的可以被反解,根据自己的工程需要如果考虑安全的话可以用单向加密算法或者生成密钥的加密解密算法。后面会更新MD5和SHA加密算法!
1 0
- Java 加密解密技术学习之BASE64
- JAVA加密解密之Base64
- java加密、解密技术系列:Base64
- java技术Base64加密解密详细
- python学习之8 加密解密Base64
- 第十一篇: JAVA加密解密之Base64
- Java BASE64加密解密
- Java BASE64加密解密
- Java Base64 加密解密
- Java BASE64加密解密
- Java BASE64加密解密
- Java Base64加密解密
- Java BASE64加密解密
- Java BASE64加密解密
- Java BASE64加密解密
- Java 加解密技术系列之 BASE64
- Java 加解密技术系列之 BASE64
- Java 加解密技术之 BASE64
- ubuntu14.04命令行直接安装jdk适合新手
- 走遍非洲 —— 埃及
- eclipse下新建hadoop项目
- Linux /proc/cpuinfo
- c语言socket编程(基础)
- Java 加密解密技术学习之BASE64
- controller中request变量的用法
- 控制流-(判断语句)
- JVM需要熟练掌握的知识点
- PHP进阶(四)——cookie与session
- 石头剪刀布 app
- 结合友盟统计的多渠道快速打包
- zbar和zxing之间的对比
- 拉青电站调速器用比例阀实验出现问题