遇到的需求如下,将待明文 Hash 所得的结果转成 Hex 字符串。最开始没懂这条需求是什么意思,后来查阅资料之后终于弄到了,总结如下:

字符串中每个字节按照整型读取,将该值转成 16 进制数并转成字符串,最终所有的单个 16 进制串按照顺序拼接就得到了上述字符串的16进制字符串。

代码:

    int StringToHex(const std::shared_ptr<char> &psrc, const size_t &srclen,std::string &strdist){if (nullptr == psrc || 0 == srclen){return -1;}strdist.clear();for (size_t i = 0; i < srclen; ++i){std::stringstream stream;//避免丢失高位 0 。stream << std::hex << ((psrc.get()[i] & 0xf0) >> 4) << (psrc.get()[i] & 0x0f);strdist += stream.str();}return 0;}

为什么大多数算出明文的 Hash 值之后需要转成 Hex 字符串?

主要为了方便查看,因为最开始的 hash 值里面比较杂乱,包括可见字符、不可见字符、负值,有的字符干脆每一位都是 0 ,所以不容易人为的查看和比较。

故将其转成 Hex 字符串,其实转成 Base 64 串也可以。

(SAW:Game Over!)

Cpp / Hash 所得字符串转成 Hex 字符串。相关推荐

  1. 把数据库中有关枚举项值的数字字符串转换成文字字符串

    原文:把数据库中有关枚举项值的数字字符串转换成文字字符串 标题可能无法表达我的本意.比如,有这样一个枚举: public enum MyChoice { MyFirstChoice = 0, MySe ...

  2. Java中将科学记数法字符串转换成数字字符串

    开发过程中,有时候科学记数法的数字,需要转换成直观的数字. 这个时候就要想办法转换一下,好在java已经提供了现成的方法. 代码如下: import java.math.BigDecimal;@Tes ...

  3. php将字符串转成json字符串数组,php数组怎么转成json字符串

    在PHP中,可以使用json_encode()函数来将数组转化为json字符串,语法"json_encode(数组)".json_encode()函数可以对变量进行JSON编码,将 ...

  4. python 将字节字符串转换成十六进制字符串

    想将一个十六进制字符串解码成一个字节字符串或者将一个字节字符串编码成一个十六进制字符串 1)只是简单的解码或编码一个十六进制的原始字符串,可以使用 binascii模块 >>> s ...

  5. python unicode转字符串_Python2.X如何将Unicode中文字符串转换成 string字符串

    普通字符串可以用多种方式编码成Unicode字符串,具体要看你究竟选择了哪种编码: unicodestring = u"Hello world" # 将Unicode转化为普通Py ...

  6. vue字符串转换成int_js 字符串转换成数字的三种方法

    方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有 ...

  7. 字符串转换成整数-----字符串‘123456’转换成数值123456(指针)

    写一个字符串,例如"123456" 返回:数值123456 转换过程: 1.ASCII码中字符123456与数值相差48,也就是字符'1'减去48得到数值1. 2.思路:((1*1 ...

  8. JS字符串替换,将一个字符串中的特定字符串换成其他字符串

  9. python把浮点数转换成16进制_delphi 浮点数float转换成十六进制字符串的方法(FloatToHex)...

    重新书写了float型转为十六进制的delphi程序 Function FloatToHex(Value: single): string; var l, i: integer; HexText,te ...

最新文章

  1. a+b 第一个JAVA
  2. QT中个数据类型的转换
  3. IconFont的使用方法
  4. 民间借贷利息多少才合法?
  5. 【GitLab】CentOS安装GitLab最佳实践
  6. embedv.php_PHP与视频播放插件功能实现,非常简单
  7. 蘑菇街2019校招题目总结
  8. 视频压缩编码基础知识(上)
  9. “ 鸡声茅店月,人迹板桥霜” 道尽多少旅人的离愁别绪
  10. python读取文件报错OSError: [Errno 22] Invalid argument: '\u202aC:\\Users\\yyqhk\\Desktop\\1.csv'
  11. 寒霜系列引擎技术解析
  12. 装系统时的UEFI模式
  13. Win7安装hp1020打印机方法
  14. java 计算开始时间与结束时间的时间差 精确到秒
  15. 深度学习目标检测在游戏领域的应用
  16. 程序员的进阶之路,学习方法!
  17. 【跨境电商平台规则与合规研讨会】在跨境驿站顺利召开
  18. 实习6(持续更新)--数据分析
  19. 八大基本排序(详解)
  20. R循环有两个_量化金融R语言【入门五味】五味:函数

热门文章

  1. 记录一次postfix无法收取邮件和mysql异常不能启动
  2. [Dubbo实战]dubbo + zookeeper + spring 实战 (转)
  3. 实例:三层交换机VLAN间路由配置命令
  4. C++11 中STL库中新增内容
  5. IT服务台的进化(2)--企业外部服务台的优缺点
  6. 原生CSS,实现点击按钮出现交互弹窗【新手扫盲】
  7. MapReduce流程(WordCount案例实现)
  8. Ansible自动化运维应用场景分析
  9. Scala Akka网络编程:Client Server网络通信(你问我答)案例
  10. helm部署kafka完整记录