请问有办法能在linux下运行windows的函数吗
我想在linux使用 advapi32.dll 里的几个加密相关的函数( CryptCreateHash,CryptHashData,CryptGenKey,CryptExportKey等) 你可以用OpenSSL里面等效的加密函数或者用Wine,他实现了一些Windows API,但是我不确定有没有你需要的。
再或者使用docker来打包你的Windows环境,运行在容器里。
建议使用docker来解决,相关例子应该很多。
dll是Windows下的运行库,不可能在Linux下使用win下面的api 没有办法,只能手动重写函数,docker应该也不行,因为linux下运行的docker也没有win对应的底层支撑 在Linux上使用Windows的advapi32.dll库中的加密相关函数是不可行的,因为这些函数是为Windows操作系统设计和编写的,依赖于Windows的加密服务提供程序接口API
然而,在Linux上有等效的加密库和函数可供使用。Linux通常使用OpenSSL或GnuTLS等库来提供加密功能。你可以使用这些库来替代advapi32.dll中的函数,以实现相同的加密操作。
以下是一些在Linux上进行加密操作的常见库和函数:
OpenSSL:OpenSSL是一个开源的加密库,提供了各种加密算法和函数。你可以使用OpenSSL库中的函数来创建哈希、生成密钥和执行其他加密操作。
GnuTLS:GnuTLS是另一个开源的加密库,提供了TLS/SSL协议支持以及各种加密算法和函数。你可以使用GnuTLS库中的函数来进行加密操作。
Libgcrypt:Libgcrypt是GNU隐私保护库,提供了加密算法和相关函数。它是GnuPG项目的一部分,可以用于在Linux上进行加密操作。
这些库提供了在Linux上进行加密操作所需的功能和接口。你可以根据你的需求选择其中一个库,并使用相应的函数来替代advapi32.dll中的函数。 你可以自己写一套同名库,然后内部实现修改成linux就可以了。
其他情况除了把windows全部库搬过来没啥其他办法(wine我记得没实现,具体你可以去翻一下wine源码)。
页:
[1]