![]() |
|
|||||||
| Đăng ký | Hỏi/Ðáp | Thành Viên | Lịch | Ðánh Dấu Ðã Ðọc |
| Mac Programming Lập trình trên Mac, cùng chia sẻ kinh nghiệm, ý tưởng và sản phẩm. |
![]() |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
#1 |
|
iNewbie
![]() Tham gia: Jun 2012
Thứ tự: 63149
iĐangCó:
Bài: 11
Cảm ơn: 10
Được cảm ơn 0 lần / 0 bài.
![]() |
trong php có hàm hash_mac:
http://php.net/manual/en/function.hash-hmac.php trong objective - c mình tìm được hàm này: - (NSString *)HMACSHA1WithKey NSString *)key andData NSString *)data{ const char *cKey = [key cStringUsingEncoding:NSASCIIStringEncoding]; const char *cData = [data cStringUsingEncoding:NSASCIIStringEncoding]; unsigned char cHMAC[CC_SHA1_DIGEST_LENGTH]; CCHmac(kCCHmacAlgSHA1, cKey, strlen(cKey), cData, strlen(cData), cHMAC); NSData *HMAC = [[NSData alloc] initWithBytes:cHMAC length:sizeof(cHMAC)]; NSString *hash = [Base64 encode:HMAC]; return hash; } var key = "key"; var text = "text"; var ketqua = base64_encode(hash_hmac('SHA1',text,key));//php var ketqua2 = [self HMACSHA1WithKey:key:text];//object-c nhưng ketqua lại khác ketqua2. anh em nào có kinh nghiệm hay hàm nào trong objective c tạo hash_mac có kết quả như trong php không? cho mình tham khảo với. mình đang làm ứng dụng nhưng phải authen so sánh chuỗi hmac giữa iphone và máy chủ. máy chủ của mình lại là php. nhờ mọi người giúp đỡ. cảm ơn mọi người nhiều! |
|
|
|
|
|
#2 |
|
iMember
![]() Tham gia: Oct 2011
Thứ tự: 51358
iĐangCó:
Nơi cư trú: HCM
Bài: 76
Cảm ơn: 10
Được cảm ơn 9 lần / 8 bài.
![]() |
hình như bạn muốn mã hoá dư liệu và truyền qua lại giửa php và Ios client
trước đây mình sử dụng AES crypt đại khái như thế này: + Ios client bạn down load 2 lớp này NSData+AESCrypt NSString+AESCrypt (google nhé) về nhé
Code:
- (void)sendMessage:(NSString*)pMessage {
NSData *data = [[NSData alloc] initWithData:[pMessage dataUsingEncoding:NSASCIIStringEncoding]];
/*chổ này mình sài socket bạn có thể modify theo cách của bạn*/
[outputStream write:[data bytes] maxLength:[data length]];
[data release];
}
[self sendMessage:[jsonString AES256EncryptWithKey:key]];
Code:
[self messageReceived:[output AES256DecryptWithKey:key]];
|
|
|
|
| (Những) thành viên sau đây cảm ơn phuongconut vì bài viết có ích này | chaucv (18-07-2012) |
|
|
#3 |
|
iNewbie
![]() Tham gia: Jun 2012
Thứ tự: 63149
iĐangCó:
Bài: 11
Cảm ơn: 10
Được cảm ơn 0 lần / 0 bài.
![]() |
cảm ơn bạn phuongconut đã trả lời!
hàm hmac của mình ra trên đã khớp rồi. do mình không biết key truyền vào 2 bên không khớp nhau nên kết quả cũng không khớp. còn cái AES Encrypt, Decrypt cũng rất có ích cho mình. mình sẽ down và sử dụng. nếu ai cần hàm hash_hmac thì có thể lấy hàm đó ở trên. |
|
|
|