package test;
import java.io.IOException;
import org.apache.commons.codec.binary.Base64;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class TestBase64 {
public static void main(String[] args) {
String str = "huxiao中文@%……&#%&*324234";
System.out.println("--------------");
System.out.println(encode(str));
System.out.println(encode(str).length());
System.out.println(decode(encode(str)));
System.out.println(decode(encode(str)).length());
System.out.println("--------------");
System.out.println(encode2(str));
System.out.println(encode2(str).length());
System.out.println(decode2(encode2(str)));
System.out.println(decode2(encode2(str)).length());
System.out.println("--------------");
}
public static String encode(String str){
return new BASE64Encoder().encode(str.getBytes());
}
public static String decode(String str) {
try {
return new String(new BASE64Decoder().decodeBuffer(str));
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("base64解码错误");
}
}
/**
* description: 使用commons-codec加密<br>
* @param str
* @return
* 2010-4-9
* @author huxiao kskr@qq.com
*/
public static String encode2(String str) {
return new String(new Base64().encode(str.getBytes()));
}
/**
* description: 使用commons-codec解密<br>
* @param str
* @return
* 2010-4-9
* @author huxiao kskr@qq.com
*/
public static String decode2(String str) {
return new String(new Base64().decode(str.getBytes()));
}
}
--------------------------------------------------
输出为
--------------
aHV4aWFv1tDOxEAloa2hrSYjJSYqMzI0MjM0
36
huxiao中文@%……&#%&*324234
23
--------------
aHV4aWFv1tDOxEAloa2hrSYjJSYqMzI0MjM0
38
huxiao中文@%……&#%&*324234
23
--------------
用commons-codec加密的是38个字节,多出了两个字节,实际上应该是换行符,并没有影响解密后的值
分享到:
相关推荐
在这个项目中,我们有两个主要的源文件:CBase64Code.cpp 和 testBase64.cpp,它们分别实现了Base64的编码和解码功能,并进行了测试。 CBase64Code.cpp 可能包含一个名为 `CBase64Code` 的类,这个类提供了基本的...
2. **TestBase64.dpr**:这是 Delphi 项目的主程序文件,定义了应用程序的入口点,通常包括应用程序的初始化和运行代码。 3. **TestBase64.dproj**:这是 Delphi 项目的配置文件,包含了构建设置、编译选项、依赖...
`TestBase_UiTestBase_AndroidTestUI_`这个项目显然专注于使用UiAutomator进行Android应用的UI自动化测试。下面将详细介绍UiAutomator以及如何利用它进行测试,同时会涉及到`TestBase.java`这个核心文件可能包含的...
这个压缩包包含的文件可能是一个关于BASE64编码的示例程序或者代码库,比如`TestBase64.vbg`可能是一个VBScript的工程文件,`TestApp`可能是应用测试程序,而`Base64`可能包含了BASE64编码的实现代码。 BASE64编码...
同时,为了测试编码功能,可以创建一个`TestBase64`程序,读取文件内容进行编码,并打印或保存结果。 在实际应用中,Base64编码常用于电子邮件的附件传输,因为邮件系统通常只支持文本格式。编码后的数据可以被正确...
压缩包中的`TestBase64.sln`文件可能是一个Visual Studio解决方案文件,用于开发一个Base64编码解码的示例项目。而`TestBase64`可能是项目中的源代码文件,包含了Base64编码和解码的实现。通过这些文件,你可以学习...
- `TestBase64Coder.java`:这是一个测试类,用于验证`Base64Coder`类的功能,可能包含了各种测试用例,通过编码和解码不同类型的输入来确保代码的正确性。 - `Base64FileEncoder.java`:这个类可能扩展了Base64编码...
### Java和单元测试中的练习首先为Triangle.java编写测试。 它有3种公共方法,可以回答三角形中有多少边相等的问题。 Scalene,等腰,等边写测试可为我们提供100%的代码覆盖率,并修复您在代码中发现的任何错误。...
"TestBase64.vbg"可能是一个VB工程组文件,其中包含了实现Base64编码类的源代码。开发人员可以通过打开这个文件,在VB6.0的IDE中查看和编辑代码,理解并学习如何构建高效Base64编码器。"TestApp"可能是一个测试应用...
在项目中的`testbase64`文件可能是一个测试用例,包含了一些Base64编码的数据,用于验证解码函数的正确性。开发者可以通过运行这个程序,查看其是否能正确地从文件读取、解码并输出原始数据。 总之,VC++实现的Base...
jar包,官方版本,自测可用
ipfs重新加密IPFS数据的一些重新加密演示介绍src ipfs.php(ipfs php api库类) reEncrytion.php(重新加密api库类) testBase64.php(测试脚本)用法安装php-5.6 php testBase64.php演示版
在我们的实例中,我们使用了一个测试方法testBase64来测试Base64编码和解码的过程。在该方法中,我们首先定义了一个字符串,然后将其编码为Base64格式,最后将其解码回原始字符串。 整个过程可以分为三个步骤:首先...
而"blobstore-testbase"则是针对Everit Blobstore进行单元测试的一系列用例,确保其功能的正确性和稳定性。 在Java开发中,单元测试是必不可少的一部分,JUnit是Java领域最流行的单元测试框架。通过JUnit,开发者...
* 使用 Transact-SQL 指定参数创建数据库:使用 T-SQL 语句创建数据库 testbase1 和 testbase2。 2. 分离数据库 * 交互式分离数据库:打开分离数据库对话框,最后点击“确定”即可。 * 使用系统存储过程分离数据库...
此存储库包含有关监视一组服务器的CPU使用率的人为任务的信息和测试程序。 ... 文件夹karl,alex,nomad1,nomad1.utc,nomad2,nomad3包含示例程序。 在generator文件夹中-用于测试的日志生成器。...
QTA是一个跨平台的测试自动化...快速入门、使用和接口文档请参考《Testbase文档》TUIATUIA (Tencent UI Automation)是UI自动化基础库,为QTA各个平台下的客户端UI测试Driver所使用。 标签:QTAF 自动化测试
例如,创建名为`testbase1`和`testbase2`的数据库,指定了数据文件和日志文件的路径、初始大小、最大大小以及自动增长的百分比。 2. **数据库的分离与附加**: - 分离数据库:使用交互式或系统存储过程(`sp_detach...