在linux系统

vim md5data  # 打开文件

写入 abc 保存

md5sum md5Data  的计算值和openssl代码计算值不一样

原因在于linux文本文件末尾自动添加了换行

解决方法:

1. 重新vim打开 set binary 然后 :wq 保存 可以看到暂用3字节 之前是4个字节大小

2.用sublime 文本编译器 编写

备注: openssl  MD5代码

MD5_CTX md5Ctx;
string data = "abc";
unsigned char md5Value[16];
char md5Str[33];
MD5_Init(&md5Ctx);
MD5_Update(&md5Ctx, data.c_str(), data.length());
MD5_Final((unsigned char *)&md5Value, &md5Ctx);
for (int i = 0; i < 16; i++)
{
if ((md5Value[i] & 0xf) <= 9){
md5Str[2 * i + 1] = (md5Value[i] & 0xf) + 48;
}
else {
md5Str[2 * i + 1] = (md5Value[i] & 0xf) + 87;
}
if ( ((md5Value[i] >> 4) & 0xf) <= 9){
md5Str[2 * i ] = ((md5Value[i] >> 4) & 0xf) + 48;
}
else {
md5Str[2 * i] = ((md5Value[i] >> 4) & 0xf) + 87;
}

}
md5Str[32] = 0;
cout << md5Str << endl;

vim 文本会在末尾自动添加换行 md5文件和数据只不对应的更多相关文章

  1. 验证fgets末尾自动添加的字符是'\0' 还是 '\n\'?

    最近写代码经常使用字符串,对于输入函数fgets网上有人说输入结束会在末尾自动添加'\n',还有人说添加的是'\n',我决定亲自验证: #include "iostream" #i ...

  2. css实现文本过长时自动添加省略号

    1. 效果 2. Html <div id="main_app_content" class="container"> <div class= ...

  3. Excel小tips - 如何设置表格输入数字后末尾自动添加%

    选中一列——鼠标右键——设置单元格格式——数字——自定义——0% 按照以上操作完成后,点击确定,就大功告成了.

  4. SpringMVC+FreeMarker实现静态资源文件自动添加版本号(md5)

    近日切换java开发,开始学习springframework.在实现静态资源文件自动计算版本号的实例时,因为不熟悉框架,走了不少弯路,好在最终解决了问题.这里写篇文章记录一下实现,也希望对大家有些用处 ...

  5. vim创建程序文件自动添加头部注释/自动文件头注释与模板定义

    Vim 自动文件头注释与模板定义 在vim的配置文件.vimrc添加一些配置可以实现创建新文件时自动添加文件头注释,输入特定命令可以生成模板. 使用方法 插入模式输入模式输入seqlogic[Ente ...

  6. 让vim不要自动添加新的注释行

    vim里面有一个特性,如果你在一行注释后新加一行,vim会自动在下一行的开始位置添加注释符号.例如对于C/C++来说   //This is a comment line //             ...

  7. vim自动添加tags、cscope

    每次打开一个工程都需要重新添加tags.cscope,很不方便,网上找了一下. 将其添加到 ~/.vimrc 中之后,打开 vim 就会自动搜索当前路径下的tags.cscope添加进去. 自动添加 ...

  8. vim 一键添加注释 自动添加文件头注释

    估计大家也都和我一样用过不少的编辑器,什么notepad2,emeditor,editplus,ultraedit,vs2005,sourceinsight,slickedit,emacs,vim(g ...

  9. (转)VIM 一键自动添加文件头注释

    通过修改VIM的配置文件.vimrc可以让Vim(gvim)支持自动添加作者信息,具体代码如下: "进行版权声明的设置 "添加或更新头 map <F4> :call T ...

随机推荐

  1. hdu 6069 Counting Divisors 筛法

    Counting Divisors Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Oth ...

  2. python的json模块的dumps,loads,dump,load方法介绍

    dumps和loads方法都在内存中转换, dump和load的方法会多一个步骤,dump是把序列化后的字符串写到一个文件中,而load是从一个文件中读取字符串 将列表转为字符串 >>&g ...

  3. django分页 Paginator

    分页功能是几乎所有的网站上都需要提供的功能,当你要展示的条目比较多时,必须进行分页,不但能减小数据库读取数据压力,也有利于用户浏览. Django又很贴心的为我们提供了一个Paginator分页工具, ...

  4. OpenModelica 在特定目录下生成仿真结果文件

    OMEdit的仿真结果文件存放在:C:\Users\***\AppData\Local\Temp\OpenModelica\OMEdit 可以在仿真时设置仿真结果文件名,可使用用绝对路径或相对路径 使 ...

  5. HTML 标记 3 —— 框架

    <frameset cols="80,*" frameborder="no" border="0" framespacing=&quo ...

  6. 网络通信框架:Netty和Mina

    参考: https://www.cnblogs.com/wrencai/p/5907042.html https://blog.csdn.net/qq_29954971/article/details ...

  7. 最全的SpringCloud视频教程

    史上最全的SpringCloud视频教程 转自:https://blog.csdn.net/itmayeidu/article/details/79426589 史上最全的SpringCloud视频教 ...

  8. python Django 创建应用

    如图输入如下命令 python manage.py startapp apitest 添加应用到 autotest项目项目下 在settings.pyo 中加入“apitest”,如下图 创建视图 在 ...

  9. missing seperator error when [make all]

    https://stackoverflow.com/questions/16931770/makefile4-missing-separator-stop makefile has a very st ...

  10. Fat jar用途

    1.Fat jar用途 我们都知道默认的eclipse下打包jar时,是无法连同外部引用包一起打包的.所以一般我们可以自己编写MINIFEST.MF文件来手动将需要的jar包加入进来,但是这样对于引用 ...