大佬教程收集整理的这篇文章主要介绍了ios – .net vs Objective c SHA-512不匹配,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
public static String GetSHA512(String strPlain) { UnicodeEncoding UE = new UnicodeEncoding(); byte[] HashValue = null; byte[] messageBytes = UE.GetBytes(strPlain); System.Security.Cryptography.SHA512Managed SHhash = new System.Security.Cryptography.SHA512Managed(); String strHex = String.Empty; HashValue = SHhash.ComputeHash(messageBytes); foreach (byte b in Hashvalue) { strHex += String.Format("{0:x2}",b); } return strHex; }
这给出了结果
input : pass123 output: 2a6353744cc2914c602265f50d2e413d0561368775756392517abb340ef75d52ee0c5d3623ddd1826fd768a13dca8961f5957c75df0d793b9d7537aabe050705
我试过的是如下
-(NSString *)createSHA512:(NSString *)String { const char *cstr = [String cStringUsingEncoding:NSUTF8StringEncoding]; NSData *data = [NSData dataWithBytes:cstr length:string.length]; uint8_t digest[CC_SHA512_DIGEST_LENGTH]; CC_SHA512(data.bytes,data.length,digest); NSMutableString* output = [NSMutableString StringWithCapacity:CC_SHA512_DIGEST_LENGTH]; for(int i = 0; i < CC_SHA512_DIGEST_LENGTH; i++) [output appendFormat:@"%02x",digest[i]]; return output; }
给出结果如下
input : pass123 output: fd37ca5ca8763ae077a5e9740212319591603c42a08a60dcc91d12e7e457b024f6bdfdc10cdc1383e1602ff2092b4bc1bb8cac9306a9965eb352435f5dfe8bb0
任何人都可以建议我做错了什么?
为什么这两个值不同?
编辑
意思是虽然我尝试将编码改为NSUTF16StringEncoding和NSUnicodeStringEncoding,结果仍然不同,如下所示
input : pass123 output: 514331e3f7ca0a295539347ebccc4e4f095fe5f3c1df10d43b4d550144c7b30ba9507831893ea63ea22e62e993be529b0d14be7800a90aa0de199d6be62a5f1b
public static String GetSHA512(String text) { byte[] messageBytes = Encoding.UTF8.GetBytes(text); byte[] hash; using (SHA512 hashAlgorithm = SHA512.Create()) { hash = hashAlgorithm.ComputeHash(messageBytes); } StringBuilder builder = new StringBuilder(); foreach (byte b in hash) { builder.AppendFormat("{0:x2}",b); } return builder.ToString(); }
以上是大佬教程为你收集整理的ios – .net vs Objective c SHA-512不匹配全部内容,希望文章能够帮你解决ios – .net vs Objective c SHA-512不匹配所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。