내 iPhone 응용 프로그램에 gravatar을 사용하고 싶습니다. 아이폰 용 Objective-C에서 16 진수 MD5 해시를 생성 할 수 있습니까? iPhone에서 openssl을 사용하는 것은 아무 의미가 없습니다.아이폰 용 Gravatar? 어떻게 16 진수 MD5 해시를 생성합니까?
1
A
답변
5
이것은 내가 내 응용 프로그램에서 삭제하기 전에 내가했던 방법입니다
이#import <CommonCrypto/CommonDigest.h>
NSString* md5(NSString *str) {
const char *cStr = [str UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5(cStr, strlen(cStr), result);
return [[NSString
stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
result[0], result[1],
result[2], result[3],
result[4], result[5],
result[6], result[7],
result[8], result[9],
result[10], result[11],
result[12], result[13],
result[14], result[15]
] lowercaseString];
}
그것은 내가이에게 자신을 작성하지 않은 것을 추가 공평. 나는 그것을 인터넷 어딘가에서 발견했지만 나는 기록하지 않았다.
4
필요한 MD5 해시를 생성하는 데 사용한 코드는 CommonCrypto 하위 폴더의 my github repository에 있습니다. CommonCrypto를 사용하는 방법이나 16 진수 바이트 값, 64 진수 문자열 등의 형식을 지정하는 방법을 보여줄 유사한 루틴들이 많이 있습니다.
잠재적으로 더 좋은 문자열 생성 방법은 다음과 같습니다.
위의 대답에 코드를 사용하려고하는 경우NSMutableString * str = [[NSMutableString alloc] initWithCapacity: 33];
int i;
for (i = 0; i < 16; i++)
{
[str appendFormat: @"%02x", result[i]];
}
NSString * output = [str copy];
[str release];
return ([output autorelease]);
그러나, 나는 개인적으로뿐만 아니라 16 진수 값을 생성 할 수 있습니다 % 02x로 %의 02X 년대를 변경하고 -lowercaseString 통화 completely--을 삼가는 게 좋을 것 소문자로 시작합니다.
관련 문제
- 1. VBA를 사용하여 파일의 MD5 16 진수 해시를 얻는 방법?
- 2. MD5 16 진수 문자열을 64 진수 MD5 문자열로 변환하려면 어떻게해야합니까?
- 3. crypt 함수로 md5 해시를 만드는 방법은 crypt 함수가 아닌 md5 함수를 사용하여 md5 salt로 생성합니까?
- 4. Mac 용 16 진수 편집기/뷰어는 무엇입니까?
- 5. ColdFusion에서 MD5 해시를 얻으려면 어떻게해야합니까?
- 6. 16 진수 표시
- 7. 16 진수 NSString을 char []
- 8. PHP로 MD5 해시를 암호 해독
- 9. 어떻게 10 진수 정수를 하나의 16 진수 문자로 변환합니까? (C)
- 10. 장치에 16 진수 데이터 보내기 (NSString을 16 진수 데이터로 변환)
- 11. 16 진수 값을 문자열에서 16 진수 코드로 변환
- 12. 16 진수 편집기는 어떻게 데이터를 빠르게 표시합니까?
- 13. 16 진수 숫자 패드
- 14. 16 진수 64 부호로
- 15. 증가의 16 진수 문자열
- 16. 16 진수 및 확률
- 17. C++ 16 진수 형식
- 18. 변환 16 진수
- 19. 문자열의 16 진수 문자
- 20. 16 진수 값을 자바에게
- 21. .NET에서 16 진수 편집
- 22. 색상 16 진수 계산
- 23. 7 세그먼트의 16 진수
- 24. 16 진수 쌍을 16 진수로 단축
- 25. 체크섬에 대한 16 진수 계산
- 26. 파이썬에서 16 진수 패킷 보내기
- 27. 16 진수 문자열을 PHP에 저장
- 28. 16 진수 데이터를 보내려면 어떻게해야합니까?
- 29. ASP.NET 암호화 16 진수 문자
- 30. 수식 16 진수 색상의 반대 ("차이") 계산 용