C sha1实现不在Unix上工作

C sha1实现不在Unix上工作,第1张

概述C sha1实现不在Unix上工作

我在C中使用SHA1的这个实现 。在windows上工作正常,但是它在Unix上不输出正确的哈希(在Ubuntu和Mac OS 10.8上试过)。 而且,在Ubuntu上,它从相同的消息中输出不同的哈希值。

我想我可以使用另一个实现,只是好奇为什么发生。

编辑@H_419_6@

谢谢,你们是对的。 改成了

C ++程序在windows(G + +)。 main()不启动

取得业主名称

linux execvp; ls不能访问|,没有这样的文件或目录

gcc(mac / linux)错误没有匹配的函数调用,而VisualStudio编译好的

SEEK_HolE总是指向文件的结尾

typedef unsigned int UINT4;

似乎工作正常。

Visual StudiodeBUGging器的内联代码变慢

Ubuntu上的g ++ 4.8.1无法编译大的位集

windows控制台API

为什么我的程序不是用来使用RAM和cpu,而是使用所有的RAM和cpu?

在R包中更改Mac与linux的构build选项

这些64位unix?

/* UINT4 defines a four byte word */ typedef unsigned long int UINT4;

实际上在64位linux上是8个字节(但在64位windows上是4个字节)

https://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models

如果任何一个平台是64位的,并且有一个64位unsigned long ,这个代码可能会有问题:

/* UINT4 defines a four byte word */ typedef unsigned long int UINT4;

没有仔细阅读代码,看看UINT4的使用方式是否会破坏,如果它实际上是8字节,但听起来很可疑。

typedef unsigned long int UINT4;

也许你的Unix实现使用64位无符号长整数。

尝试

#include <stdint.h> /* ... */ typedef uint32_t UINT4;

并使用C99编译器。

总结

以上是内存溢出为你收集整理的C sha1实现不在Unix上工作全部内容,希望文章能够帮你解决C sha1实现不在Unix上工作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1232257.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存