From 7b02207537d35bfa1714bf8beafc921f717d100a Mon Sep 17 00:00:00 2001 From: 单军华 Date: Wed, 11 Jul 2018 10:47:42 +0800 Subject: [PATCH] 首次上传 --- screendisplay/Pods/YYCategories/YYCategories/Foundation/NSData+YYAdd.h | 310 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 310 insertions(+), 0 deletions(-) diff --git a/screendisplay/Pods/YYCategories/YYCategories/Foundation/NSData+YYAdd.h b/screendisplay/Pods/YYCategories/YYCategories/Foundation/NSData+YYAdd.h new file mode 100755 index 0000000..95acda2 --- /dev/null +++ b/screendisplay/Pods/YYCategories/YYCategories/Foundation/NSData+YYAdd.h @@ -0,0 +1,310 @@ +// +// NSData+YYAdd.h +// YYCategories <https://github.com/ibireme/YYCategories> +// +// Created by ibireme on 13/4/4. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import <Foundation/Foundation.h> + +NS_ASSUME_NONNULL_BEGIN + +/** + Provide hash, encrypt, encode and some common method for `NSData`. + */ +@interface NSData (YYAdd) + +#pragma mark - Hash +///============================================================================= +/// @name Hash +///============================================================================= + +/** + Returns a lowercase NSString for md2 hash. + */ +- (NSString *)md2String; + +/** + Returns an NSData for md2 hash. + */ +- (NSData *)md2Data; + +/** + Returns a lowercase NSString for md4 hash. + */ +- (NSString *)md4String; + +/** + Returns an NSData for md4 hash. + */ +- (NSData *)md4Data; + +/** + Returns a lowercase NSString for md5 hash. + */ +- (NSString *)md5String; + +/** + Returns an NSData for md5 hash. + */ +- (NSData *)md5Data; + +/** + Returns a lowercase NSString for sha1 hash. + */ +- (NSString *)sha1String; + +/** + Returns an NSData for sha1 hash. + */ +- (NSData *)sha1Data; + +/** + Returns a lowercase NSString for sha224 hash. + */ +- (NSString *)sha224String; + +/** + Returns an NSData for sha224 hash. + */ +- (NSData *)sha224Data; + +/** + Returns a lowercase NSString for sha256 hash. + */ +- (NSString *)sha256String; + +/** + Returns an NSData for sha256 hash. + */ +- (NSData *)sha256Data; + +/** + Returns a lowercase NSString for sha384 hash. + */ +- (NSString *)sha384String; + +/** + Returns an NSData for sha384 hash. + */ +- (NSData *)sha384Data; + +/** + Returns a lowercase NSString for sha512 hash. + */ +- (NSString *)sha512String; + +/** + Returns an NSData for sha512 hash. + */ +- (NSData *)sha512Data; + +/** + Returns a lowercase NSString for hmac using algorithm md5 with key. + @param key The hmac key. + */ +- (NSString *)hmacMD5StringWithKey:(NSString *)key; + +/** + Returns an NSData for hmac using algorithm md5 with key. + @param key The hmac key. + */ +- (NSData *)hmacMD5DataWithKey:(NSData *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha1 with key. + @param key The hmac key. + */ +- (NSString *)hmacSHA1StringWithKey:(NSString *)key; + +/** + Returns an NSData for hmac using algorithm sha1 with key. + @param key The hmac key. + */ +- (NSData *)hmacSHA1DataWithKey:(NSData *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha224 with key. + @param key The hmac key. + */ +- (NSString *)hmacSHA224StringWithKey:(NSString *)key; + +/** + Returns an NSData for hmac using algorithm sha224 with key. + @param key The hmac key. + */ +- (NSData *)hmacSHA224DataWithKey:(NSData *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha256 with key. + @param key The hmac key. + */ +- (NSString *)hmacSHA256StringWithKey:(NSString *)key; + +/** + Returns an NSData for hmac using algorithm sha256 with key. + @param key The hmac key. + */ +- (NSData *)hmacSHA256DataWithKey:(NSData *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha384 with key. + @param key The hmac key. + */ +- (NSString *)hmacSHA384StringWithKey:(NSString *)key; + +/** + Returns an NSData for hmac using algorithm sha384 with key. + @param key The hmac key. + */ +- (NSData *)hmacSHA384DataWithKey:(NSData *)key; + +/** + Returns a lowercase NSString for hmac using algorithm sha512 with key. + @param key The hmac key. + */ +- (NSString *)hmacSHA512StringWithKey:(NSString *)key; + +/** + Returns an NSData for hmac using algorithm sha512 with key. + @param key The hmac key. + */ +- (NSData *)hmacSHA512DataWithKey:(NSData *)key; + +/** + Returns a lowercase NSString for crc32 hash. + */ +- (NSString *)crc32String; + +/** + Returns crc32 hash. + */ +- (uint32_t)crc32; + + +#pragma mark - Encrypt and Decrypt +///============================================================================= +/// @name Encrypt and Decrypt +///============================================================================= + +/** + Returns an encrypted NSData using AES. + + @param key A key length of 16, 24 or 32 (128, 192 or 256bits). + + @param iv An initialization vector length of 16(128bits). + Pass nil when you don't want to use iv. + + @return An NSData encrypted, or nil if an error occurs. + */ +- (nullable NSData *)aes256EncryptWithKey:(NSData *)key iv:(nullable NSData *)iv; + +/** + Returns an decrypted NSData using AES. + + @param key A key length of 16, 24 or 32 (128, 192 or 256bits). + + @param iv An initialization vector length of 16(128bits). + Pass nil when you don't want to use iv. + + @return An NSData decrypted, or nil if an error occurs. + */ +- (nullable NSData *)aes256DecryptWithkey:(NSData *)key iv:(nullable NSData *)iv; + + +#pragma mark - Encode and decode +///============================================================================= +/// @name Encode and decode +///============================================================================= + +/** + Returns string decoded in UTF8. + */ +- (nullable NSString *)utf8String; + +/** + Returns a uppercase NSString in HEX. + */ +- (nullable NSString *)hexString; + +/** + Returns an NSData from hex string. + + @param hexString The hex string which is case insensitive. + + @return a new NSData, or nil if an error occurs. + */ ++ (nullable NSData *)dataWithHexString:(NSString *)hexString; + +/** + Returns an NSString for base64 encoded. + */ +- (nullable NSString *)base64EncodedString; + +/** + Returns an NSData from base64 encoded string. + + @warning This method has been implemented in iOS7. + + @param base64EncodedString The encoded string. + */ ++ (nullable NSData *)dataWithBase64EncodedString:(NSString *)base64EncodedString; + +/** + Returns an NSDictionary or NSArray for decoded self. + Returns nil if an error occurs. + */ +- (nullable id)jsonValueDecoded; + + +#pragma mark - Inflate and deflate +///============================================================================= +/// @name Inflate and deflate +///============================================================================= + +/** + Decompress data from gzip data. + @return Inflated data. + */ +- (nullable NSData *)gzipInflate; + +/** + Comperss data to gzip in default compresssion level. + @return Deflated data. + */ +- (nullable NSData *)gzipDeflate; + +/** + Decompress data from zlib-compressed data. + @return Inflated data. + */ +- (nullable NSData *)zlibInflate; + +/** + Comperss data to zlib-compressed in default compresssion level. + @return Deflated data. + */ +- (nullable NSData *)zlibDeflate; + + +#pragma mark - Others +///============================================================================= +/// @name Others +///============================================================================= + +/** + Create data from the file in main bundle (similar to [UIImage imageNamed:]). + + @param name The file name (in main bundle). + + @return A new data create from the file. + */ ++ (nullable NSData *)dataNamed:(NSString *)name; + +@end + +NS_ASSUME_NONNULL_END -- Gitblit v1.8.0