- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用以下方法为 iOS 构建 zeromq 库: https://github.com/drewcrawford/libzmq-ios
除了一些警告出现 3 次之外,构建日志看起来很好:
CC crypto_scalarmult/curve25519/ref10/libsodium_la-fe_0_curve25519_ref10.lo
randombytes/salsa20/randombytes_salsa20_random.c:278:17: warning: comparison of constant 18446744073709551615 with expression of type
'const size_t' (aka 'const unsigned long') is always true [-Wtautological-constant-out-of-range-compare]
assert(size <= ULONG_LONG_MAX);
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.2.sdk/usr/include/assert.h:93:25: note:
expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
^
randombytes/sysrandom/randombytes_sysrandom.c:202:17: warning: comparison of constant 18446744073709551615 with expression of type 'const size_t'
(aka 'const unsigned long') is always true [-Wtautological-constant-out-of-range-compare]
assert(size <= ULONG_LONG_MAX);
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.2.sdk/usr/include/assert.h:93:25: note:
expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
CXX libzmq_la-null_mechanism.lo
ipc_listener.cpp:127:24: warning: 'tempnam' is deprecated: This function is provided for compatibility reasons only. Due to security concerns
inherent in the design of tempnam(3), it is highly recommended that you use mkstemp(3) instead. [-Wdeprecated-declarations]
char *tmpstr = tempnam (NULL, NULL);
^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.2.sdk/usr/include/stdio.h:391:7: note: 'tempnam'
has been explicitly marked deprecated here
char *tempnam(const char *, const char *) __DARWIN_ALIAS(tempnam);
^
当我将构建的库添加到我的 XCode 项目时,它会生成 10 个错误:
Undefined symbols for architecture i386:
"_crypto_box", referenced from:
zmq::curve_client_t::produce_hello(zmq::msg_t*) in libzmq.a(libzmq_la-curve_client.o)
zmq::curve_client_t::produce_initiate(zmq::msg_t*) in libzmq.a(libzmq_la-curve_client.o)
zmq::curve_server_t::produce_welcome(zmq::msg_t*) in libzmq.a(libzmq_la-curve_server.o)
"_crypto_box_afternm", referenced from:
zmq::curve_client_t::encode(zmq::msg_t*) in libzmq.a(libzmq_la-curve_client.o)
zmq::curve_server_t::produce_ready(zmq::msg_t*) in libzmq.a(libzmq_la-curve_server.o)
zmq::curve_server_t::encode(zmq::msg_t*) in libzmq.a(libzmq_la-curve_server.o)
"_crypto_box_beforenm", referenced from:
zmq::curve_client_t::process_welcome(zmq::msg_t*) in libzmq.a(libzmq_la-curve_client.o)
zmq::curve_server_t::process_initiate(zmq::msg_t*) in libzmq.a(libzmq_la-curve_server.o)
"_crypto_box_keypair", referenced from:
_zmq_curve_keypair in libzmq.a(libzmq_la-zmq_utils.o)
zmq::curve_client_t::curve_client_t(zmq::options_t const&) in libzmq.a(libzmq_la-curve_client.o)
zmq::curve_server_t::curve_server_t(zmq::session_base_t*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, zmq::options_t const&) in libzmq.a(libzmq_la-curve_server.o)
"_crypto_box_open", referenced from:
zmq::curve_client_t::process_welcome(zmq::msg_t*) in libzmq.a(libzmq_la-curve_client.o)
zmq::curve_server_t::process_hello(zmq::msg_t*) in libzmq.a(libzmq_la-curve_server.o)
zmq::curve_server_t::process_initiate(zmq::msg_t*) in libzmq.a(libzmq_la-curve_server.o)
"_crypto_box_open_afternm", referenced from:
zmq::curve_client_t::process_ready(zmq::msg_t*) in libzmq.a(libzmq_la-curve_client.o)
zmq::curve_client_t::decode(zmq::msg_t*) in libzmq.a(libzmq_la-curve_client.o)
zmq::curve_server_t::decode(zmq::msg_t*) in libzmq.a(libzmq_la-curve_server.o)
"_crypto_secretbox", referenced from:
zmq::curve_server_t::produce_welcome(zmq::msg_t*) in libzmq.a(libzmq_la-curve_server.o)
"_crypto_secretbox_open", referenced from:
zmq::curve_server_t::process_initiate(zmq::msg_t*) in libzmq.a(libzmq_la-curve_server.o)
"_randombytes", referenced from:
zmq::curve_client_t::produce_initiate(zmq::msg_t*) in libzmq.a(libzmq_la-curve_client.o)
zmq::curve_server_t::produce_welcome(zmq::msg_t*) in libzmq.a(libzmq_la-curve_server.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我认为错误中列出的每个函数都使用警告中列出的随机字节。
当我从 https://github.com/drewcrawford/libzmq-ios/releases 添加库时,也会发生同样的情况
我做错了什么?
最佳答案
看起来您不是唯一遇到此(或类似)问题的人:https://github.com/drewcrawford/libzmq-ios/issues/4
来自链接:“我能够通过将 libc++.dylib 导入我的项目来修复这些错误。”他们的问题是列出 armv7 架构,而不是像您的情况那样列出 i386 架构,但这是值得尝试的事情。
关于c++ - 使用 libsodium、randombytes 错误为 iOS 构建 zeromq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29556781/
在此方法的文档中,它声明如果没有足够的熵来生成数据,它将抛出异常。我的问题与熵有关。它是如何生成的,您能否通过提供足够的熵来防止抛出异常?抛出异常的频率有多高,还是未知? crypto.randomB
我将构建一个经常使用 crypto.randomBytes() 的服务。据我所知,它正在阻塞 I/O。有没有办法至少加快这个过程?多核或多线程能做什么吗? 最佳答案 这里有一些详细信息:How ran
我有以下代码,基于 http://nodejs.org/docs/v0.6.9/api/crypto.html#randomBytes crypto.randomBytes 32, (ex, buf)
我尝试使用 crypto.randomBytes() 方法生成非常大量(> 1GB)的伪随机数据,但我无法为耗尽的熵源生成异常以查看行为是什么我的应用程序以防出现这种可能的异常。 来自 Node.JS
crypto.randomBytes(20).toString('hex')有多随机? 就这么简单,我只需要知道。 最佳答案 crypto.randomBytes() 的随机性如何?通常,足够随机以用
在什么情况下可以接受(从安全角度)使用 Node 的 crypto.pseudoRandomBytes而不是加密强的 crypto.randomBytes ? 我认为 pseudoRandomByte
摘要 我有一个函数,我使用 crypto.randomBytes 生成 token ,但在从函数返回 token 时遇到问题。我想从 createResetToken 返回 token 。我的功能如下
我在使用 NodeJS 加密和 crypto.randomBtyes 函数时遇到了一个奇怪的问题。我检测到似乎最近才出现在我的 NodeJS/Typescript 3.2 应用程序中的奇怪行为。 Th
Node.js 文档强烈反对使用 crypto.randomBytes()。然而,正如我在 StackOverflow 的回答中读到的那样,在所有随机字符串生成方法(例如使用时间戳等)中,实现最高熵的
crypto.randomBytes(48, function (err, buffer) { if (err) { x = false;
我正在导入 ethereumjs-wallet在 angular4 中, import EthereumWallet from 'ethereumjs-wallet'; var wallet = Et
如何使用 crypto.randomBytes 生成特定范围内的随机数? 我希望能够生成这样的随机数: console.log(random(55, 956)); // where 55 is min
如何将从 crypto.randomBytes 返回的字节数组转换为 float ?我正在为 Math.random() 编写一个小的替代品 最佳答案 假设您有一系列随机选择的字节,均匀分布在 [0,
我需要一个加密安全的随机数生成器来替换 Math.random() 我遇到了 crypto.randomBytes() 但是,它返回一个字节数组。有什么方法可以将字节数组变成0-1(以便与Math.r
我正在使用以下方法为 iOS 构建 zeromq 库: https://github.com/drewcrawford/libzmq-ios 除了一些警告出现 3 次之外,构建日志看起来很好: CC
我是新手。使用 amazon-cognito-identity-js 时出错时出现以下错误npm 包如下所示 _global.util.crypto.lib.randomBytes is not a
crypto = require('crypto') async function generateToken(){ await crypto.randomBytes(256,function(e
我正在尝试在 Node.js 中生成恰好 6 的随机数字,这需要加密安全。这是我的代码: var crypto = require('crypto'); crypto.randomBytes(2, f
由于 1000000 不是 2 的幂,因此随机生成从 0 到 999999 的精确值的正确方法是什么? 这是我的方法: 使用crypto.randomBytes生成3个字节并转换为hex 使用前 5
大家好,我主要是想重新创建这个 Node 包: https://github.com/seishun/node-steam-crypto/blob/master/index.js 在 golang 中
我是一名优秀的程序员,十分优秀!