vim 文本会在末尾自动添加换行 md5文件和数据只不对应
在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文件和数据只不对应的更多相关文章
- 验证fgets末尾自动添加的字符是'\0' 还是 '\n\'?
最近写代码经常使用字符串,对于输入函数fgets网上有人说输入结束会在末尾自动添加'\n',还有人说添加的是'\n',我决定亲自验证: #include "iostream" #i ...
- css实现文本过长时自动添加省略号
1. 效果 2. Html <div id="main_app_content" class="container"> <div class= ...
- Excel小tips - 如何设置表格输入数字后末尾自动添加%
选中一列——鼠标右键——设置单元格格式——数字——自定义——0% 按照以上操作完成后,点击确定,就大功告成了.
- SpringMVC+FreeMarker实现静态资源文件自动添加版本号(md5)
近日切换java开发,开始学习springframework.在实现静态资源文件自动计算版本号的实例时,因为不熟悉框架,走了不少弯路,好在最终解决了问题.这里写篇文章记录一下实现,也希望对大家有些用处 ...
- vim创建程序文件自动添加头部注释/自动文件头注释与模板定义
Vim 自动文件头注释与模板定义 在vim的配置文件.vimrc添加一些配置可以实现创建新文件时自动添加文件头注释,输入特定命令可以生成模板. 使用方法 插入模式输入模式输入seqlogic[Ente ...
- 让vim不要自动添加新的注释行
vim里面有一个特性,如果你在一行注释后新加一行,vim会自动在下一行的开始位置添加注释符号.例如对于C/C++来说 //This is a comment line // ...
- vim自动添加tags、cscope
每次打开一个工程都需要重新添加tags.cscope,很不方便,网上找了一下. 将其添加到 ~/.vimrc 中之后,打开 vim 就会自动搜索当前路径下的tags.cscope添加进去. 自动添加 ...
- vim 一键添加注释 自动添加文件头注释
估计大家也都和我一样用过不少的编辑器,什么notepad2,emeditor,editplus,ultraedit,vs2005,sourceinsight,slickedit,emacs,vim(g ...
- (转)VIM 一键自动添加文件头注释
通过修改VIM的配置文件.vimrc可以让Vim(gvim)支持自动添加作者信息,具体代码如下: "进行版权声明的设置 "添加或更新头 map <F4> :call T ...
随机推荐
- hdu 6069 Counting Divisors 筛法
Counting Divisors Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Oth ...
- python的json模块的dumps,loads,dump,load方法介绍
dumps和loads方法都在内存中转换, dump和load的方法会多一个步骤,dump是把序列化后的字符串写到一个文件中,而load是从一个文件中读取字符串 将列表转为字符串 >>&g ...
- django分页 Paginator
分页功能是几乎所有的网站上都需要提供的功能,当你要展示的条目比较多时,必须进行分页,不但能减小数据库读取数据压力,也有利于用户浏览. Django又很贴心的为我们提供了一个Paginator分页工具, ...
- OpenModelica 在特定目录下生成仿真结果文件
OMEdit的仿真结果文件存放在:C:\Users\***\AppData\Local\Temp\OpenModelica\OMEdit 可以在仿真时设置仿真结果文件名,可使用用绝对路径或相对路径 使 ...
- HTML 标记 3 —— 框架
<frameset cols="80,*" frameborder="no" border="0" framespacing=&quo ...
- 网络通信框架:Netty和Mina
参考: https://www.cnblogs.com/wrencai/p/5907042.html https://blog.csdn.net/qq_29954971/article/details ...
- 最全的SpringCloud视频教程
史上最全的SpringCloud视频教程 转自:https://blog.csdn.net/itmayeidu/article/details/79426589 史上最全的SpringCloud视频教 ...
- python Django 创建应用
如图输入如下命令 python manage.py startapp apitest 添加应用到 autotest项目项目下 在settings.pyo 中加入“apitest”,如下图 创建视图 在 ...
- missing seperator error when [make all]
https://stackoverflow.com/questions/16931770/makefile4-missing-separator-stop makefile has a very st ...
- Fat jar用途
1.Fat jar用途 我们都知道默认的eclipse下打包jar时,是无法连同外部引用包一起打包的.所以一般我们可以自己编写MINIFEST.MF文件来手动将需要的jar包加入进来,但是这样对于引用 ...