在 Java 中如何进行 BASE64 编码和解码(有点儿乱,但是不妨碍作为一篇好文)

转载 2012年03月22日 04:09:11

转载自:http://www.zhuoda.org/elite/34479.html

http://www.javaidea.net/list.jsp?topic=5 

作者:家居猫 


BASE64 编码是一种常用的字符编码,在很多地方都会用到。JDK 中提供了非常方便的 BASE64Encoder 和 BASE64Decoder,用它们可以非常方便的完成基于 BASE64 的编码和解码。下面是本人编的两个小的函数,分别用于 BASE64 的编码和解码: 

// 将 s 进行 BASE64 编码 
public static String getBASE64(String s) { 
if (s == nullreturn null
return (new sun.misc.BASE64Encoder()).encode( s.getBytes() ); 


// 将 BASE64 编码的字符串 s 进行解码 
public static String getFromBASE64(String s) { 
if (s == nullreturn null
BASE64Decoder decoder = new BASE64Decoder(); 
try { 
byte[] b = decoder.decodeBuffer(s); 
return new String(b); 
catch (Exception e) { 
return null

}


------

回复此文章 | 

import sun.misc.BASE64Encoder; 
import sun.misc.BASE64Decoder; 

------

回复此文章 | 


http://dev2dev.bea.com.cn/techdoc/webser/20030573.html 

作者:TIM PIJPOPS 

使用报文摘要 

Java中提供了计算报文摘要的另一个简单的方法,那就是使用java.security.MessageDigest类。下列代码片断显示了如何将MD5报文摘要算法(128位的摘要)应用到密码字符串: 
MassageDigest md= 
MessageDigest.getInstance("MD5"); 
md.update(originalPwd.getByetes()); 
byte[] digestedBytes=md.digest(); 

也使用报文摘要创建校验和、文本的唯一ID(也叫做数字指纹)。在签写ARJ文件会发生:校验和是根据ARJ文件的内容计算出来的,然后被加密,并且用base64的加密格式存放在manifest.mf文件中。base64是编码任意二进制数据的一种方法,得到的结果仅包含可打印字符(注意,base64编码数据占用的空间比转换前多三分之一)。由于报文摘要算法输出的结果是字节数组,可以使用base64编码将哈希字节转换成字符串,以便能将该字符串存放在数据库的varchar字段中。现在有许多base64编码器,但是最简单的方法是使用weblogic.jar库中的编码器:weblogic.apache.xerces.utils.Base64。该类的作用微乎其微,如下面的代码例子所示: 

String digestedPwdString = 
new String(Base64.encode(digestedPwdBytes)); 


------

回复此文章 | 


http://minnigerode.org/CA-SF/dave/BasicJBossAAC.html 

Feb. 2004 
M. David Minnigerode 
minniger@minnigerode.org 

import javax.mail.internet.*; 
import java.security.*; 
public String getEncodedHash(String clearText){ 
ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
OutputStream out = MimeUtility.encode(baos,
"base64"); 
MessageDigest md = MessageDigest.getInstance(
"SHA"); 
if(clearText == null) clearText = 
""
byte [] in = clearText.getBytes(); 
byte [] digested = md.digest(in); 
out.write(digested); 
out.close(); 
return new String(baos.toByteArray(), 
"ISO-8859-1"); 

java base64编码和解码的三种方式

方式一: 方式二: fangshi
  • hw1287789687
  • hw1287789687
  • 2014年04月26日 10:46
  • 11451

Java如何进行Base64的编码(Encode)与解码(Decode)?

Java进行Base64的编码(Encode)与解码(Decode)的几种方式与区别..
  • zhou_kapenter
  • zhou_kapenter
  • 2017年03月17日 16:37
  • 17334

Base64编码原理解析与Java实现

目前还在找工作,工作日时投投简历面面试,这周末难免就闲来无事了,那就只好看看慕课逛逛CSDN了,正巧看到一个关于Base64的课程《Java实现Base64加密》,点进去看看,完了发觉完全不是我想的那...
  • zdqdj1
  • zdqdj1
  • 2016年06月26日 00:39
  • 2473

java中BASE64与urlUncode的编码与解码

下面是urlUncode的解码: 先模拟一段从客户端接收到的URL码 //读取文件并转为字节码 FileInputStream fs = new FileInputStream(new Fi...
  • BabyNiu411
  • BabyNiu411
  • 2013年08月15日 15:14
  • 1712

Base64 JAVA后台编码与JS前台解码(解决中文乱码问题)

中文通过Java后台进行Base64编码后传到前台,通过JS进行Base64解码时会出现中文乱码的问题,被这个问题也是困扰了几天,使用jquery.base64.js只能转码非中文字符,经过搜集各种方...
  • z798083517
  • z798083517
  • 2017年07月07日 11:29
  • 1557

C#和JAVA利用BASE64实现图片编码解码

主要针对服务器端和客户端利用BASE64对图片和字符串进行编码解码操作。 客户端是Android,服务器端是webservice,编码解码方式如下: 一、Android 实现图片上传 1.j...
  • sinat_27693393
  • sinat_27693393
  • 2016年07月22日 20:32
  • 1285

java利用Base64编码和解码图片文件

1、java利用BASE64编码和解码图片文件 2、如何在页面上直接显示base64编码的图片?...
  • zxnlmj
  • zxnlmj
  • 2014年07月02日 16:56
  • 12496

Base64编码与解码原理和使用及复杂数据的存储

Base64是网络上最常用的传输8bit字节数据的编码方式之一,是一种简单的加密方式,实际中使用的加密比这复杂的多,也可以用在复杂数据的存储上,比如我们要把类对象和图片等复杂数据进行存储,就需要将这些...
  • joeyon
  • joeyon
  • 2016年11月25日 17:59
  • 481

对文件进行base64编码成字符串进行保存或传输

现在微服务很流行,特别是restFull。如果数据格式是json或xml,发现涉及到文件传输时就不太好处理了。网上找到解决方法,就是将文件进行base64编码后再进行传输。当然建议文件不要太大。 ...
  • dream_broken
  • dream_broken
  • 2016年12月12日 15:06
  • 4721

Base64的编码和解码

为什么要使用Base64? 在设计这个编码的时候,我想设计人员最主要考虑了3个问题: 1.是否加密? 2.加密算法复杂程度和效率 3.如何处理传输? 加密是肯定的,但是加密的目的不...
  • petib_wangwei
  • petib_wangwei
  • 2014年08月19日 17:40
  • 2007
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在 Java 中如何进行 BASE64 编码和解码(有点儿乱,但是不妨碍作为一篇好文)
举报原因:
原因补充:

(最多只允许输入30个字)