php与c#生成sha1不一致的问题

作者&投稿:招拜 (若有异议请与网页底部的电邮联系)
python SHA1与java sha1运算结果不一致。怎么解决~

是否以文本形式打开是文件,应该是二进制形式计算
http://www.cnblogs.com/thinkingfor/archive/2010/09/13/1824766.html

ASCII只包含128个字符,所以编码最大到127。
C#在进行ASCII转码的时候,会把大于127的char值转成63,PHP如果不转码的话,会使用默认编码,一般是utf-8。
所以如果想要两者得到一样的值,就需要使两者编码值一致,举两个例子。
一是C#转码时使用UTF8
Byte[] bytes = Encoding.UTF8.GetBytes(mp);二是PHP先对编码值进行检测编辑
function chk($ord){ if($ord>127) return $ord=63; else return $ord;}$char="";$char.=chr(chk(130));$char.=chr(chk(120));$char.=chr(chk(120));$char.=chr(chk(130));$char.=chr(chk(180));$char.=chr(chk(190));echo base64_encode($char)."";

您好,摘要的结果当然是一样的,不一样的是你在C#里又把结果转换成了Base64的字符串,这当然就不一样了,你又加工了一遍嘛。
FC-5E-03-8D-38-A5-70-32-08-54-41-E7-FE-70-10-B0 这是C#里md5实际的结果和php里的fc 5e 03 8d 38 a57032085441e7fe7010b0 怎么会不一样呢,一个字节一个字节看看。
使用使用toString(value,radix)看看。


今天做了胃细菌检查结果是Hp(一)C=0031是什么意思啊???
hp是幽门螺杆菌,感染会导致胃炎,阴性说明没感染,很好吖 c是用来检测幽门螺杆菌的方法,C14同位素

14碳呼气试验结果 HP(+)c=0166 是什么意思? 严重么?
HP是幽门螺杆菌的意思。这就是说你得了胃炎,是幽门螺杆菌感染引起。所以治疗就是根除HP治疗。饭后吃比较好。治疗的同时还要注意养胃。 养胃方法:1.少吃油炸食物:因为这类食物不容易消化,会加重消化道负担,多吃会引起消化不良,还会使血脂增高,对健康不利。 2.避免刺激:比如少饮酒,少吃辣椒...

惠普的笔记本 有的标记是hp 有的为什么是C
HP是惠普,Compaq是康柏,是惠普后来收购的一家电脑公司,主要面向中低端消费市场。

检查报告螺杆菌,hp(十),c=0073会不会传染
幽门螺杆菌本身就是从不良的卫生习惯传染的。既然在你的胃内存在,当然口腔作为消化道一部分你的唾液内,也可能有的。有了这个你如果不注意卫生,当然就可以互相传染。这个本身在发达国家,比如美国,幽门螺杆菌(Hp)大概30%,而在发展中国家,就很高了往往在70%,而且有年龄越高感染率越多,国内曾有...

幽门螺旋杆菌阳性HP+ C=0088是代表什么
加号88就是阳性,证明感染了,日常要注意自己的饮食卫生,不共用餐具,消毒,不接吻等,避免传染。吃些养胃食物,不吃刺激食物。每天可以喝点稀健丁香茶,丁香茶养胃健胃灭菌,养胃健胃中医推荐稀健丁香茶。

吹气查幽门螺杆菌结果是Hp+,C?
幽门螺杆菌(Hp)。首先由巴里·马歇尔(Barry J. Marshall)和罗宾·沃伦(J. Robin Warren)二人发现,此二人因此获得2005年的诺贝尔生理学或医学奖。目前已知幽门螺杆菌感染的发病率的高低与社会经济水平,人口密集程度,公共卫生条件以及水源供应有较密切的关系。幽门螺 碳呼气试验是阳性的结果,这种就...

碳14:HP(一)C二00011是不是正常的?
慢性胃炎患者hp的检出率很高,约50%~80%,慢性活动性胃炎患者HP检出率则更高,达90%以上。所以,也有大夫对于症状典型或胃镜证实的胃病直接根除HP而不用检测。三、14C和13C呼气试验的适宜人群:1. 消化不良初诊者(病史不长,年龄小于45岁并无胃病报警症状)、复诊者。2. 胃十二指肠溃疡、消化性溃疡...

碳14呼气检查幽门螺杆菌,C=71 阳性Hp(+)。这个结果严重吗
此结果应该说是幽门螺杆菌感染,只是轻度感染,但呼气试验有一定的局限性,所以建议你还是查一只胃镜,这样检查比较准确,如果确实是阳性可以治疗,现在一般是三联疗法。即用枸椽酸铋钾,替硝唑,克拉霉素,也可以采用丽珠集团丽珠药厂生产的丽珠三联组合包装这样服用方便些 ...

幽门螺旋杆菌阳性Hp(+)C=00171是什么意思?
幽门螺杆菌检测结果都有正常值,超过正常者即为阳性,标志着胃有幽门螺杆菌感染,常与慢性胃炎,胃或十二指肠溃疡甚至胃癌的发病有关。

幽门螺杆菌检查报告单上结果为:HP(-), C=0038
幽门螺杆菌阴性就代表没有感染,可以放心了

高州市15024097604: php pack 用c#怎么转换 -
毕咏优维: php 的 pack("H*", sha1($api_password)) 实际就是 sha1($api_password, true) 即只返回二进制数据 你在用 C# 写 sha1 函数时也不要转换成十六进制表示,而直接返回 byte 数组就可以 C# 在做这类操作时,都是要将字符串转成 byte 数组后才可以的

高州市15024097604: sha1加密处理中文时在js和php中不一样怎么办!如何处理!!! -
毕咏优维: 不一样吗?我没用过js的sha1,你可以试试用ajax,js调用ajax吧值传给php,php用sha1加密完以后再传回来

高州市15024097604: C#代码加密字符串,与SQL加密结果不一致 -
毕咏优维: 在SQL Server 2005下自带的函数HashBytes() ,此函数是微软在SQL Server 2005中提供的,可以用来计算一个字符串的MD5和SHA1值,使用方法如下:--获取123456的MD5加密串 select hashbytes('MD5', '123456') ;--获取123456的SHA1...

高州市15024097604: 为什么OPENSSL在C++/PHP下AES加密解密结果不一致 -
毕咏优维: 结果应该是一样的,你查看下是多少位加密 128位和256位肯定是不一样的.其次 看看 AES_KEY 是否一致,仔细比较下两者的 key和iv,如果这两个不一样,那么结果肯定不一样.尤其是iv,PHP封装的是否默认有了个iv.你要比较AES_KEY 的key和iv中每个char,不仅仅是输出的字符串.不能应为有\0字符串的结尾标志而忽略.如果这些一致,加密加过肯定是一致的.

高州市15024097604: 求教PHP和JAVA大神 base64 - encode(hash - hmac('sha1',$public - key,$private - key,TRUE)); 转 java -
毕咏优维: 如果你的API服务安全认证协议中要求使用hmac_sha1方法对信息进行编码, 而你的服务是由PHP实现的,客户端是由JAVA实现的,那么为了对签名正确比对,就需要在两者之间建立能匹配的编码方式.efine('ID','123456'); define('KEY','k123456...

高州市15024097604: 如何用php实现和c#一致的DES加密解密 -
毕咏优维: PHP实现和c#一致的DES加密解密,可以从网上搜到一大堆,但是测试后发现都没法用.以下正确代码是我经过苦苦才找到的.希望大家在系统整合时能用的上.注意:key的长度为8位以内.[csharp] view plain copy print?//C# 版DES 加解密算...

高州市15024097604: c# php base64 - encode 不一致问题 -
毕咏优维: ASCII只包含128个字符,所以编码最大到127.C#在进行ASCII转码的时候,会把大于127的char值转成63,PHP如果不转码的话,会使用默认编码,一般是utf-8.所以如果想要两者得到一样的值,就需要使两者编码值一致,举两个例子.一是C#...

高州市15024097604: php hash - hmac跟java算出来的结果不一样 -
毕咏优维: 问题解决代码如下: public String md5(String txt) { try{ MessageDigest md = MessageDigest.getInstance("MD5"); md.update(txt.getBytes("GBK")); //问题主要出在这里,Java的字符串是unicode编码,不受源码文件的编码影响;而PHP的编...

高州市15024097604: asp.net 中的MD5和SHA1加密 -
毕咏优维: 不用导入 直接string xxx =System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(要转换的字符串,"MD5"); 就可以了 ..

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网