1、在工程目录中创建ThirdParty文件夹,用于存放Openssl库

2、在对应Build.cs中配置Openssl库地址
DynamicallyLoadedModuleNames.AddRange(
new string[]
{
// ... add any modules that your module loads dynamically here ...
}
);
string opensslPath = ModuleDirectory + "../../../Source/IMP/ThirdParty/openssl";
PublicSystemLibraryPaths.Add(opensslPath+"/lib");
PublicSystemLibraries.Add("libeay32.lib");
bEnableExceptions = true;
bUseRTTI = true;

3、根据自己放置的路径引用,我放在IMP目录下,因此引用路径如下
#include "IMP/ThirdParty/openssl/include/sha.h"
4、编写实现SHA256加密代码
FString IMPWidgetAPI::GetSHA256(const FString& InputString)
{
FTCHARToUTF8 InputTransformStr(*InputString);
uint8 Hash[SHA256_DIGEST_LENGTH];
SHA256_CTX Sha256;
SHA256_Init(&Sha256);
SHA256_Update(&Sha256, InputTransformStr.Get(), InputTransformStr.Length());
SHA256_Final(Hash, &Sha256);
FString Result;
Result.Reserve(SHA256_DIGEST_LENGTH * 2);
for (int i = 0; i < SHA256_DIGEST_LENGTH; i++)
{
Result += FString::Printf(TEXT("%02X"), Hash[i]);
}
return Result.ToLower();
}
8638

被折叠的 条评论
为什么被折叠?



