`
muyu
  • 浏览: 218514 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

base64编码中的换行符

    博客分类:
  • ruby
阅读更多

先看加密代码:

Base64.decode64('subject')

 但是,如果字符串超过一定长度的时候,加密字符串中会带有换行符!这和PHP中的函数base64_encode()不同,php得出来的加密字符串没有换行符!

 

查了资料,这是base64的资料:

 

Base64是MIME邮件中常用的编码方式之一。它的主要思想是将输入的字符串或数据编码成只含有{'A'-'Z', 'a'-'z', '0'-'9', '+', '/'}这64个可打印字符的串,故称为“Base64”。Base64编码的方法是,将输入数据流每次取6 bit,用此6 bit的值(0-63)作为索引去查表,输出相应字符。这样,每3个字节将编码为4个字符(3×8 → 4×6);不满4个字符的以'='填充。

 

我在做uc_authcode加密解密函数的时候,需要在ruby和php中交互这个加密字符串。我采用了如下妥协方法:

str_encoded = str_encoded.gsub(/[^a-zA-Z0-9+\/]/, "")

 

 

 

 

 

分享到:
评论
1 楼 kingze 2010-07-23  
我也正需要用到 uc_authcode 你能把代码贡献出来吗?谢谢

相关推荐

    pb10编码解码base64

    pb10调用base64.dll,实现将图片转换成base64编码,将base64编码转换成图片 函数声明 function long GetFileEncode64(ref string filename, ref string encode64)library "base64" alias for "GetFileEncode64;...

    base64编码解码用于pb8pb9pb12.5等

    //修改了原网上解码没有按照标准76字符增加换行符的bug /* 标注base64编码方式 Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,...

    base64编码解码离线工具

    base64编码解码离线工具,不需要联网,适用于windows,自己开发的一个小工具,比较简陋,优化了一下功能,能够解释显示换行符

    LabVIEW实现Base64加密解密程序源码

    LabVIEW实现Base64加密解密程序源码,可以作为子VI...base 64编码将用户输入或二进制数据,打包成一种安全格式,将其作为HTTP首部字段的值发送出去,而无须担心其中包含会破坏HTTP分析程序的冒号、换行符或二进制值。

    BASE64编码解码页面

    网上下载的Base64编码加密.htm页面,对base64编码解码支持不好,主要是对中文无法正确执行。...另外再增加了将base64编码中的回车换行符去掉的功能,这样对邮件这样76个字符一行的base64编码也能正确解码了。

    c语言版base64编解码算法实现.rar

    常用方式 格式:base64 从标准输入中读取数据,按Ctrl+D结束输入。...加上-i参数,忽略非字母表字符,比如换行符。 man base64 写道 -i, --ignore-garbage When decoding, ignore non-alphabet characters.

    base64位API(C++版本)

    该API封装了C++版本的接口,可直接解压复制...②每76个字符加一个换行符。③.最后的结束符也要处理。例子1转换前 11111111, 11111111, 11111111 (二进制)转换后 00111111, 00111111, 00111111, 00111111 (二进制)

    base64互相转换工具类

    base64互相转换工具类,可以字符串进行base64编码和解码,可以把base64转图片,可以把在线或者本地图片转base64码,另外还有去除字符串中的空格、回车、换行符、制表符方法。

    c#和java base64不一致的解决方法

    最近非常郁闷的处理这个base64的问题,同样的一个图片文件,在java和c#进行base64编码后结果不一样,苦恼了很久,下面这篇文章主要给大家介绍了关于c#和java base64不一致的解决方法,需要的朋友可以参考下

    swift-extras-base64:在纯Swift中无需使用Foundation即可进行Base64编码和解码

    编码可以插入换行符 了该程序包的先前。 表现 超级,确保此实现的快速性。 编码和解码1m乘以base64字符串: AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0...

    Base64 图像编码器:将磁盘上的 MATLAB (R) 图形或文件编码为 Base64 中的字符串-matlab开发

    Base64img 使用 MATLAB 图形并将其编码为 base64 字符串中的 JPEG。 该字符串可以直接在网页中使用以显示没有图像文件的图像(仅在部分浏览器中 - 32 位 Windows 和 Linux)。 Base64file 获取磁盘上的文件并将其...

    base64加解密效率优化及纠错版(pb9源码)_马晓路修正版.rar

    本文件在前人工作的基础上完成,对第三方生成的编码可以正常解码,已应用在项目中。2019.6.12修改了原代码运行溢出的bug ,并按照RFC822规定标准对回车换行符进行兼容处理,详见示例代码。

    shogi64:Shogi64编码-The Shogi(Japanese Chess)棋盘的解码

    64个字符ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_没有填充可变长度没有空格或换行符最大行长取决于应用程序有关详细信息,请参考以下URL。 位置数据格式程序中的阶段数据的格式如下。 ...

    frame-utils.js:一组实用程序,用于处理80211帧和radiotap标头的流

    依存关系# apt-get install nodejs nodejs-legacy npm $ npm install split through 用法print-frames.js 将带有换行符标题的换行符分隔的,base64编码的80211帧流转换为逗号分隔值流。 所有非分隔逗号都被双倍转义...

    Emeditor 简体中文插件集 Build 5

    删除引用标记 转换换行符 调整缩进 三、内码转换 解码 Base64 或 uudecode 编码 Unicode 解码 Unicode 转换为繁体中文 转换为简体中文 四、显示增强 分割窗口 横向分割窗口 纵向分割窗口 显示标尺 ...

    超级文本及文本文件转换、加密、等宽行合并等功能的编辑软件

    功能强大的文本编辑软件,包含70种功能,操作简单(单击功能条目,显示功能说明,双击条目,就可以完成操作),...Base64解密 URL编码 URL解码 音乐CUE文件曲名替换 音乐CUE文件曲名提取 多音乐文件生成CUE文件

    强大的php生成word ,html,rtf,pdf框架(包含中文文档)

    添加换行符 10 添加分页符 10 列表 10 添加列表 10 列表样式 11 列表样式属性列表 11 超链接 11 添加超链接 11 超链接样式 12 图片 13 添加图片 13 图片样式 13 图片样式属性 13 添加GD生成图片 14 添加水印 14 添加...

    PHP CRUD:通过PHP创建,读取,更新和删除索引的平面文件记录-开源

    可选的Base64编码可确保使用换行符和其他特殊字符而不会造成任何损失。 (今天,许多人都说“ CRUD”代表“创建检索更新和删除。”虽然对于SQL思维方式来说还不错,但许多老朋友早在1970年代就习惯于使用“创建读取...

    PHP CRUD:通过 PHP 创建、读取、更新和删除索引的平面文件记录-开源

    可选的 Base64 编码确保可以使用换行符和其他特殊字符而不会受到惩罚。 (今天很多人说“CRUD”代表“创建检索更新和删除”。虽然对于 SQL 思维方式来说很好,但许多老手在 1970 年代就习惯了代表“创建读取更新...

    Firefox-RootCA:将RootCA添加到Firefox

    插入没有任何换行符且没有------BEGIN CERTIFICATE------和------END CERTIFICATE------位的base64编码的证书。 证书应放在certname = "CERTGOESHERE";的变量中certname = "CERTGOESHERE"; 要加载证书,请行...

Global site tag (gtag.js) - Google Analytics