草庐IT

argon2-ffi

全部标签

javascript - 如何在 NodeJS 中使用 ffi 单击?

我正在为Windows创建一个机器人。要移动鼠标,这是我目前的代码:varffi=require('ffi'),user32=ffi.Library('user32',{'SetCursorPos':['long',['long','long']]});;user32.SetCursorPos(100,100);我需要一个使用ffi(或任何其他方式)将点击给定坐标的函数,例如click(100,100); 最佳答案 这对我有用:varffi=require('ffi'),user32=ffi.Library('user32',{'S

php - PHP7 中的 Argon2i - 选择合适的选项

我应该使用什么值来生成Argon2i哈希,我如何才能找到我的硬件可以承受的适当设置?即:memory_costtime_costthreads作为:$options=['memory_cost'=>14,'threads'=>3,];$hash=password_hash('test',PASSWORD_ARGON2I,$options);有asimplescriptinPHPdocs为bcrypt哈希找到合适的成本值。这如何适用于Argon2? 最佳答案 发件人:PHPRFCArgon2password_hash成本因素来自:Du

PHP 警告 : Use of undefined constant PASSWORD_ARGON2ID when using password_hash() in php 7. 3

我最近通过Plesk的WebGUI安装了PHP7.3.6作为Web应用程序的开发副本,因为我打算将我们的生产环境从php7.0更新到7.3。我决定借此机会将我们的密码散列从PBKDF2升级到Argon2ID,因为PHP核心已经包含了它。我很惊讶地收到一条警告,指出PASSWORD_ARGON2ID常量未定义,因为我知道它是在php7.3.0中添加的。我尝试搜索此错误的任何实例,我发现唯一相关的是Laravel论坛中的这篇未详细说明的帖子:https://laracasts.com/discuss/channels/laravel/use-of-undefined-constant-pa

php - 我应该在哈希后加密我的密码吗?如果是这样如何正确地做到这一点?

我试图更好地了解散列和加密,但是我偶然发现了我在Google中似乎找不到的问题,因为Google一直提供我已经阅读过的散列和加密的基本区别。更多的是,很多人在StackOverflow中提问,他们不知道加密和散列之间的区别,这让SO的搜索引擎排名靠前。这没有回答我的问题,也没有帮助我。所以我想确定一些关于散列密码和加密密码的事情。现在假设我想保护一个新注册用户..我需要先过滤它。(因无关而跳过)在获得“安全”形式的密码后,我对其进行哈希处理。$安全密码;//已经填入安全密码。$hash=password_hash($safePassword,PASSWORD_ARGON2I);然后将其

C++/Lua FFI 将用户数据呈现为表格?

我在C++中有以下简单代码,其中Object是一个标准容器:staticintcreate_an_object(lua_State*L){autoobj=static_cast(lua_newuserdata(L,sizeof(Object*)));*obj=another_valid_obj;luaL_newmetatable(L,"object_metatable");lua_pushcfunction(L,object_metatable_function);lua_setfield(L,-2,"__index");lua_pop(L,1);return1;}staticinto

c++ - Ruby FFI 找不到某些功能?

我正在尝试使用Ruby的FFI库链接来自bitcoin-coresecp256k1library的函数.制作secp256k1_ecdsa_sign功能可访问,我使用autotools构建了libsecp256k1(按照README.md中的指示)。然后,我通过运行g++-sharedsecp256k1/src/.libs/libsecp256k1_la-secp256k1.o创建了一个要在FFI中使用的共享对象。使用FFI将其导入到我的Ruby文件中,让我可以使用该函数并且一切正常。我正在尝试对secp256k1_ecdsa_sign_recoverable执行完全相同的操作函数,它

c++ - 当通过 FFI 从 Rust 调用时,您如何使用返回 shared_ptr<T> 的 C++ 函数?

C++shared_ptrcreate_foo();使用rustextern"C"{pubfncreate_foo()->???;}Bindgen将shared_ptr变成不透明的blob。我不能只使用原始指针,因为这样C++代码就不知道我有一个对Foo的引用,并且可能会调用它的解构函数。 最佳答案 std::shared_ptr是一个C++类和一个非平凡的类型,不能按原样从库中导出——您需要它在目标语言中的定义符合C++中的定义.要使用FFI,您需要为您的库函数提供一个简单的CABI(C++ABI不稳定,可能会在编译器版本之间发生

c++ - 是否可以将 c++ 命名空间中的函数与 luajit ffi 一起使用?

我有很多C++代码,其中包含许多命名空间中的函数和类(例如,boost)。现在我正在尝试将LuaJiT2作为脚本引擎嵌入,但我找不到任何关于调用函数和使用namespace中的其他东西的信息。那么,是否可以使用FFI将函数从c++命名空间传递到LuaJIT? 最佳答案 您可以使用标准的LuaAPI向Lua公开namespace范围的函数以及类静态函数。这与使用常规Lua解释器完全一样,因为LuaJIT与其直接兼容。但是你不能使用FFI,因为FFI是基于对头文件的基于C的解析。而且您使用的是C++语法。FFI不是使用LuaJIT的唯一

c++ - Haskell FFI内存分配性能问题

我正在使用FFItoC将中等数量的数据(~100MB)发送到C程序——只是一个字符串列表。但是,我使用的所有方法似乎都花费了不合理的时间(~10秒)。分析后,似乎是实际的内存分配需要时间。我试过:作为常规字符串发送(newCString)转换为ByteStrings(unsafeUseAsCString)转换为字符vector(unsafeWith>>=withForeignPtr...)通过CFFI发送数据的最快方法是什么? 最佳答案 正如ReidBarton在评论中所说,如果您有100MB的字符串,无论您如何处理它,您的分配一开

c++ - 使用 ffi 将 C++ 数据类型导入 haskell

我正在为c++库编写一个haskell包装器,尽管我可以将函数从库导入到我的haskell程序,但我不知道如何导入c++数据类型。例如,我有一个函数将video::E_DRIVER_TYPEEDT_OPENGL类型作为参数,定义在some.h文件中,正如我之前所说,我知道如何使用ffi导入函数国外进口ccall...使用适当的编译器损坏的函数名但我无法从haskell调用该函数,因为我不知道如何导入/使用这种特定的视频驱动程序数据类型。现在,我知道您可以在Haskell中创建类型,但我仍然需要一个起点来定义类型,无论C++表示是什么。(此时我很困惑)如有任何帮助,我将不胜感激!谢谢