C++ string相关问题,求解!
请教一个字符串的问题很困惑,我最近在复习、练习MFC的基本操作,自己把一个SHA512项目封装成了MFC界面,但是算出来的数字位数、结果明显不对(正常是128位),请老师...
请教一个字符串的问题很困惑,我最近在复习、练习MFC的基本操作,自己把一个SHA512项目封装成了MFC界面,但是算出来的数字位数、结果明显不对(正常是128位),请老师指点是哪里可能出了问题?
展开
2个回答
展开全部
如果您的SHA512算法结果不正确,可能有以下几个原因:
数据类型错误:SHA512算法输出的是一个128位的二进制字符串,如果您在计算过程中将其转化为了其他数据类型(如整型、浮点型等),可能会出现精度丢失的问题。建议使用字符串类型(如C++中的std::string)保存SHA512算法的输出结果。
字符编码问题:SHA512算法是一种二进制算法,但是当您在将SHA512算法的输出结果输出到屏幕或保存到文件中时,需要将其转化为字符串形式。如果您使用了错误的字符编码(如GBK编码),可能会导致字符集转换错误,最终导致输出结果不正确。
算法实现问题:SHA512算法是一种比较复杂的算法,实现不当可能会导致结果不正确。建议检查您的SHA512算法实现是否存在错误。
其他问题:如果以上原因都不是问题所在,那么还可能是其他未知原因导致结果不正确。建议您仔细检查您的代码,
如果还有问题可以私信我。
2023-02-18
展开全部
这和String似乎没有关系,而是要看你计算逻辑对不对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询