[解決済み] Objective-CのMD5アルゴリズム
2022-06-25 20:12:28
質問
Objective-CでMD5を計算する方法は?
どのように解決するのですか?
md5はiPhoneで利用可能であり、ieの追加機能として追加できます。
NSString
と
NSData
のようにします。
MyAdditions.h
@interface NSString (MyAdditions)
- (NSString *)md5;
@end
@interface NSData (MyAdditions)
- (NSString*)md5;
@end
MyAdditions.m
#import "MyAdditions.h"
#import <CommonCrypto/CommonDigest.h> // Need to import for CC_MD5 access
@implementation NSString (MyAdditions)
- (NSString *)md5
{
const char *cStr = [self UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5( cStr, (int)strlen(cStr), result ); // This is the md5 call
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]
];
}
@end
@implementation NSData (MyAdditions)
- (NSString*)md5
{
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5( self.bytes, (int)self.length, result ); // This is the md5 call
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]
];
}
@end
編集
NSData md5を追加しました。これは、私自身がそれを必要とし、この小さなスニペットを保存するのに良い場所だと思ったからです。
これらのメソッドは、NIST MD5 テストベクターを使用して検証されています。 http://www.nsrl.nist.gov/testdata/
関連
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] Objective-Cで乱数を発生させる
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] Objective-Cで、ある文字列が他の文字列を含んでいるかどうかを調べるにはどうすればよいですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] JavaでMD5ハッシュを生成するにはどうすればよいですか?
-
[解決済み] Objective-Cで文字列が空かどうかをテストするにはどうすればよいですか?
-
[解決済み] Objective-CでNSNotificationCenterを通してメッセージを送受信する?
-
[解決済み] JavaでファイルのMD5チェックサムを取得する
-
[解決済み】SwiftのコードをObjective-Cにインポートするにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エラー: バイナリ式のオペランドが無効です ('float' と 'float')
-
[解決済み] arc4randomとarc4random_uniformの違いは何ですか?重複
-
[解決済み] 開発者の身元が確認できないため開けない
-
[解決済み] インスタンスに送信されたセレクタが認識されない」を解決するには?
-
[解決済み] NSTimerの使い方を教えてください。
-
[解決済み】浮動小数点値の比較はどのくらい危険か?
-
[解決済み】NSArrayをアルファベット順に並べるには?
-
[解決済み】ブロック宣言の構文リスト
-
[解決済み】なぜObjective-Cのファイルには.mという拡張子がついているのですか?
-
[解決済み】Cocoaアプリからターミナルコマンドを実行する