int SecRandomCopyBytes ( SecRandomRef rnd, size_t count, uint8_t *bytes );
उदाहरण के लिए:
uint8_t data[100];
int err = 0;
// Don't ask for too many bytes in one go, that can lock up your system
err = SecRandomCopyBytes(kSecRandomDefault, 100, data);
if(err != noErr)
@throw [NSException exceptionWithName:@"..." reason:@"..." userInfo:nil];
NSData* randomData = [[NSData alloc] initWithBytes:data length:100];
टिप्पणी में पीटर द्वारा बताया गया है, तो आप भी ऐसा कर सकते हैं:
NSMutableData* data = [NSMutableData dataWithLength:100];
err = SecRandomCopyBytes(kSecRandomDefault, 100, [data mutableBytes]);
और रोब द्वारा टिप्पणियों में उल्लेख किया गया है, आपको Sec के लिए Security.framework को लिंक करने की आवश्यकता है RandomCopyBytes उपलब्ध होने के लिए। आपको SecRandom.h
भी शामिल करने की आवश्यकता है।
आप कैसे जानेंगे कि बाइट्स यादृच्छिक जोड़ क्या हैं और जब आप डिक्रिप्ट करते हैं तो मूल सादे पाठ का हिस्सा कौन सा होता है? अलग-अलग परिस्थितियों में उपयोग के लिए पहले से ही कई अलग-अलग क्रिप्टोग्राफिक पैडिंग योजनाएं हैं, जिनमें से अधिकांश यादृच्छिक बाइट्स के गुच्छा के बाद बाद में काटना आसान है। – rossum