草庐IT

SecRandomCopyBytes

全部标签

ios - 生成 16 字节随机数据作为 AES128 CBC 方法的初始化向量的任何快捷方式?

有什么简单的方法可以生成这种随机数据或字符串吗?喜欢现有的功能? 最佳答案 您可以使用安全框架中的SecRandomCopyBytes。Thisfunctionreadsfrom/dev/randomtoobtainanarrayofcryptographically-securerandombytes.uint8_tvector[16];SecRandomCopyBytes(kSecRandomDefault,16,vector); 关于ios-生成16字节随机数据作为AES128CB

java - 使用 SecRandomCopyBytes 生成范围内的随机数

我正在使用SecRandomCopyBytes用于生成安全的随机数。有没有办法指定“范围”?我需要获得这段Java代码的相同行为:SecureRandomr=newSecureRandom();charx=(char)(r.nextInt(26)+'a');任何提示将不胜感激!更新看到我提出了一个愚蠢的问题,我觉得有必要分享解决方案,扩展Int类型:publicextensionInt{/**CreatearandomnumIntinrange:param:lowernumberInt:param:uppernumberInt:return:randomnumberInt*/publi

ios - 'SecRandomCopyBytes' 的冲突类型

当我尝试存档我的应​​用程序的新版本时,我在xCode上遇到错误,我无法弄清楚它来自哪里以及如何修复它。查看来自xcode的打印屏幕:Screenshot 最佳答案 iOS11更改了该方法的签名。你可以试试这个#if__IPHONE_OS_VERSION_MAX_ALLOWED>=110000externintSecRandomCopyBytes(SecRandomRefrnd,size_tcount,void*bytes)__attribute__((weak_import));#elseexternintSecRandomCop

ios - OS X 的 SecRandomCopyBytes 分支安全吗?

许多用户空间CSPRNG有一个问题,即在fork(2)之后,两个不同的进程可能会返回相同的随机字节流。通过查看dtruss,很明显SecRandomCopyBytes至少是从/dev/random播种的,但是它在做什么所以在fork()之后可以安全使用?源代码如下:#includeintmain(){uint8_tdata[8];SecRandomCopyBytes(kSecRandomDefault,8,data);SecRandomCopyBytes(kSecRandomDefault,8,data);printf("%llu\n",*(uint64_t*)data);}我从dtr

ios - Swift 语言 : How to call SecRandomCopyBytes

在Objective-C中,我可以这样做:NSMutableData*data=[NSMutableDatadataWithLength:length];intresult=SecRandomCopyBytes(kSecRandomDefault,length,data.mutableBytes);在Swift中尝试此操作时,我有以下内容:letdata=NSMutableData(length:Int(length))letresult=SecRandomCopyBytes(kSecRandomDefault,length,data.mutableBytes)但是我得到这个编译器错误

ios - SecRandomCopyBytes 有多好?

我主要对SecRandomCopyBytes在iOS上的实现感兴趣,如果它与OSX实现不同的话。(我假设它确实如此,因为移动设备比台式计算机拥有越来越多的可用熵源。)有没有人知道:SecRandomCopyBytes从哪里获取熵?它可以产生良好随机数的速率是多少?如果没有足够的熵可用,它会阻塞还是立即失败?它是否符合FIPS140-2标准,或者是否包含在任何其他官方认证中?文档不包括这些点。我只能找到听说它使用来自radio、指南针、加速度计和其他来源的信息的评论,但没有来自实际代表Apple的人的引述。 最佳答案 /dev/ran