OC des encryption, so that with the Java cipher class with the Des/cbc/pkcs5padding method of encryption results same

Source: Internet
Author: User

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

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.