首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用废弃的openssl代码计算sha256的替代方案

使用废弃的openssl代码计算sha256的替代方案
EN

Stack Overflow用户
提问于 2015-12-15 04:17:32
回答 2查看 2.2K关注 0票数 4

在/usr/include/openssl/sha.h中声明的SHA256_XXX系列已在OSX10.7和更高版本中被废弃。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int SHA256_Init(SHA256_CTX *c) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
int SHA256_Update(SHA256_CTX *c, const void *data, size_t len) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
int SHA256_Final(unsigned char *md, SHA256_CTX *c) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
unsigned char *SHA256(const unsigned char *d, size_t n,unsigned char *md) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
void SHA256_Transform(SHA256_CTX *c, const unsigned char *data) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;

虽然它目前正在工作,但我想知道后来的OS版本的替代方案是什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-15 04:53:32

通用密码支持SHA256和其他加密方法,并可用于OS和iOS。添加Security.framework并包含<CommonCrypto/CommonDigest.h>。普通密码是一个"C“API。

票数 2
EN

Stack Overflow用户

发布于 2015-12-15 04:30:02

目前批准的所有消化技术是通过EVP。

DigestInit.html#EXAMPLE

SHA256的示例性功能(来自Digests)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void digest_message(unsigned char *message, unsigned char **digest, unsigned int *digest_len)
{
    EVP_MD_CTX *mdctx;

    if((mdctx = EVP_MD_CTX_create()) == NULL)
        handleErrors();

    if(1 != EVP_DigestInit_ex(mdctx, EVP_sha256(), NULL))
        handleErrors();

    if(1 != EVP_DigestUpdate(mdctx, message, strlen(message)))
        handleErrors();

    if((*digest = (unsigned char *)OPENSSL_malloc(EVP_MD_size(EVP_sha256()))) == NULL)
        handleErrors();

    if(1 != EVP_DigestFinal_ex(mdctx, *digest, digest_len))
        handleErrors();

    EVP_MD_CTX_destroy(mdctx);
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34289094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文