Problem Description:
Des encryption is used recently and is consistent with the results of Java's cipher class encryption. The cliper of Java has not been studied, but in work cipher generates a string based on the Des/cbc/pkcs5padding encryption method.
In comparison, this string is formatted directly with the NSData generated by OC encryption ([NSString stringwithformat:@ "%@", data]). So I used it first.
The code is as follows:
#import "Commoncrypto/commoncryptor.h" + (NSString *) Encryptusedes: (NSString *) plaintext Andkey: (NSString *) AuthKey Andiv: (NSString *) authiv{const void *IV = (const void *) [Authiv utf8string]; NSString *ciphertext = nil; NSData *textdata = [plaintext datausingencoding:nsutf8stringencoding]; Nsuinteger datalength = [TextData length]; unsigned char buffer[1024]; memset (buffer, 0, sizeof (char)); size_t numbytesencrypted = 0; Cccryptorstatus cryptstatus = Cccrypt (Kccencrypt, Kccalgorithmdes, Kccoptionpkcs7padding, [AuthKey utf8string], Kcckeysizedes, IV, [TextData bytes], datalength, Buffer, 1024, &numbytesencrypted); if (Cryptstatus = = kccsuccess) {NSData *data = [NSData datawithbytes:buffer length: (Nsuinteger) numbytesencrypted]; NSString *oristr = [NSString stringwithformat:@ "%@", data]; Nscharacterset *cset = [Nscharacterset charactersetwithcharactersinstring:@ "< >"]; ciphertext = [[Oristr Componentsseparatedbycharactersinset:cset] componentsjoinedbystring:@ ""]; } return ciphertext;}
OC des encryption, so that with the Java cipher class with the Des/cbc/pkcs5padding method of encryption results same