无名阁

美好的生活需要用心记录

把文件转换成base64编码

2012-11-10 笑看风云 linux知识

今天在玩这个http://segmentfault.com/game游戏的时候,第九关的解题方法是把二进制中的____替换成1111,然后把二进制变成base64编码,最后把base64变成一个压缩包文件.

这里我就十分好奇他到底如何把一个文件转换成base64编码的,因为要是有些文件不想让人知道或者加密文件的话可以用这种方式进行加密.

于是我在网上搜索了一翻,找到了这个代码:

perl -e 'use MIME::Base64;open (FH," < /home/xuan/Pictures/wallpaper-2049694.jpg");print encode_base64($_) while (<FH>);' > file_base64
上面是把文件转换成base64的,下面是把base64还原成文件的:

shell >perl -e 'use MIME::Base64;open (FH,"< file_base64");print decode_base64($_) while (<FH>);' > file_exec
我测试了一下,发现的确可以进行转换,不过代码就是长了很多,于是想进行简化所以决定看看能不能用Ubuntu自带的base64进行加解密,结果果然可以,而且还更加方便,代码如下:

加密:

base64 mozilla.tgz >b
前面的那个mozilla.tgz是要进行转换的文件,b是储存base64编码的文件,下面是解密代码:

base64 -d b>c
其中b就是之前储存base64编码的文件,c是还原好的文件名.

标签: Linux

et_highlighter51

评论:

汽枪配件
2013-04-17 11:21
正是我在找的东西  谢谢了
新世纪娱乐城
2012-12-19 09:51
原来是这样把文件转换不
mapleray
2012-12-13 11:59
学习了,,,,,ubuntu跟来的,膜拜一下。。。。
请问博主用的那个vps?我这访问速度可以。。。
笑看风云
2012-12-13 13:12
@mapleray:我用的不是vps,是虚拟空间.空间提供商主页是这个[url]http://www.hostvoid.com/[/url]
hunk
2012-11-11 05:33
用windows的人就无法解决这道题了么。。。
笑看风云
2012-11-11 11:00
@hunk:这个我就不清楚了,你可以上网搜搜.

发表评论: