首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用废弃的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
运行
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
运行
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

复制
相关文章
LibreSSL 替代OPENSSL
LibreSSL 开发者 OpenBSD计划 稳定版本 2.0.3 / 2014年7月21日;3天前 开发状态 进行中 编程语言 C,汇编语言 操作系统 OpenBSD、FreeBSD、Linux、Mac OS X、Solaris 类型 安全库 许可协议 Apache许可证1.0、4句BSD许可证、ISC许可证,部份为公有领域 网站 http://www.libressl.org LibreSSL是OpenSSL加密软件库的一个分支,为一个安全套接层(SSL)和传输层安全(TLS)协议的开源
Zach
2018/06/21
2.9K0
提供本地计算替代方案的虚拟私有云
许多企业了解公共云的好处,但由于考虑到安全性,宁愿将其业务置于单一租户的环境中,而不考虑采用公共云。如今,虚拟私有云可以帮助企业满足这一需求。 公共云的好处继续得到企业的关注,近几年的采用也在显著增
静一
2018/03/27
3.5K0
提供本地计算替代方案的虚拟私有云
使用WebRTC作为RTMP的替代方案
 点击上方“LiveVideoStack”关注我们 ▲扫描图中二维码或点击阅读原文▲ 了解音视频技术大会更多信息 ---- 作者:Barry Owen 翻译:Alex 技术审校:刘连响 WebRTC 影音探索 #014# 2020年,Adobe宣布停止对 Flash播放器的支持。Flash历经多年终于走向终结,虽然是众望所归,但它的退出却对存在于许多流媒体工作流程中的一项重要技术——RTMP( Real-Time Messaging Protocol)影响重大。RTMP最初设计用于向Adobe Fl
LiveVideoStack
2022/07/12
2.9K0
使用WebRTC作为RTMP的替代方案
大数据计算中复杂存储过程的替代方案
以往的数据结构和业务逻辑比较简单,所以单条SQL语句就可以实现业务的需要。但随着技术的进步,用户计算的复杂程度也越来越高。要实现复杂的计算,单条SQL语句就显得不是很够了。将一个复杂目标分解为几个有逻辑、清晰、可执行的步骤,数据库开发人员对循环和判断语句、多层分支以及更精确的数据横向操作有了额外的需要。基于这些需要,我们引入了存储过程。
Kevin Chen
2018/06/04
6.5K6
大数据计算中复杂存储过程的替代方案
Base:Acid的替代方案
作者:DAN PRITCHETT 译者:java达人 来源:https://queue.acm.org/detail.cfm?id=1394128(点击阅读原文前往) 在数据库分区中,以一致性换取可
java达人
2018/03/26
2.3K0
Base:Acid的替代方案
Web 框架的替代方案
在本系列第二部分中,Noam 提出了一些模式,说明如何直接用 Web 平台作为框架提供的一些解决方案的替代方案。
深度学习与Python
2022/04/19
2.7K0
Hugo .GitInfo 的替代方案
今天有人问我博客页脚 footer 里的 git hash 是怎么显示的,就是页面底部里的 69d6ffe 这一串数字。
eallion
2022/12/20
1.9K0
Hugo .GitInfo 的替代方案
openssl的部分使用例子
Version:1.0 StartHTML:000000223 EndHTML:000043749 StartFragment:000006251 EndFragment:000043675 StartSelection:000006272 EndSelection:000043671 SourceURL:http://slucx.blog.chinaunix.net/uid-30212356-id-5139254.htmlopenssl的部分使用例子-寂寞暴走伤-ChinaUnix博客
用户3519280
2023/07/06
3400
Request请求库被废弃了! 我们该用什么替代?
可以看到, Request 在 2020.2.11 就被废弃了, 几乎接触过Node的人都接触过Request, 通过看到一个个库的废弃, 停止支持以及转手, 我们可以看到开源事业的艰辛
治电小白菜
2020/08/25
2.8K0
Request请求库被废弃了! 我们该用什么替代?
探讨if...else的替代方案
假设我们要做一个计算器,实现加减乘除的需求。使用if...else...语句实现代码如下:
互联网金融打杂
2022/08/01
2.3K0
探讨if...else的替代方案
Flutter 中FlatButton的替代方案
最新版本的Flutter已将FlatButton标记为过时,我们可以使用 TextButton 或 ElevatedButton 来进行替代,FlatButton 与替代组件的参数会有差异。
xiangzhihong
2023/07/09
7230
企业用途的 V** 替代方案
虚拟专用网络 (VPN) 是最常用的远程网络连接解决方案之一。但是,它有许多限制,会对网络性能和安全性产生负面影响。使用更专业的远程解决方案替代 VPN ,可以提高安全性,同时还可以提高远程访问的质量和远程工作人员的工作效率。
Loki
2023/01/10
2.2K0
企业用途的 V** 替代方案
javafx框架tornadofx入门实战 计算Sha256
[h0p62lu24k.gif] class FxHashingView : View("javafx框架tornadofx入门实战 计算Sha256") { val str0 = stringProperty() val strHash = stringProperty() val fpath = stringProperty() val fileContent = stringProperty() override val root = vbox(5) {
用户6167008
2020/02/14
3.3K0
javafx框架tornadofx入门实战 计算Sha256
onpropertychange替代方案[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。 onpropertychange替代方案
全栈程序员站长
2022/08/01
1.4K0
Electron中remote模块的替代方案
在Electron12时候被废弃,使用必须配置enableRemoteModule
码客说
2023/09/14
2.1K0
替代Websocket的解决方案:GoEasy
GoEasy这个库的适用场景:同Websocket的场景 在后台使用例如Java进行逻辑处理后将变量的值传入前台,前台不用发起请求即可接收后台发布的数据, 整个流程与Redis的Pub和Sub过程类似 整个交互类似Socket的长连接,前台首次调用不需要请求后台。 非常适合监控后台参数等场景;
ZONGLYN
2019/08/08
5.6K0
传统 for 循环的函数式替代方案
在 Java 语言的第 1 个版本中就开始引入了传统的 for 循环,它的更简单的变体 for-each 是在 Java 5 中引入的。大部分开发人员更喜欢使用 for-each 执行日常迭代,但对于迭代一个范围或跳过范围中的值等操作,他们仍会使用 for。
IT小马哥
2020/03/18
3K0
Java中的大量if else语句的替代方案
之前写过转载过一篇类似的不错的文章《除代码中的 if-else/switch-case的正确姿势》https://blog.csdn.net/w605283073/article/details/89117561,
明明如月学长
2021/08/31
1.8K0
Getter & Setter:使用还是废弃
私有变量 为什么我们要使用私有的实例变量呢? 因为我们不希望其他类直接的依赖于这些变量。而且在心血来潮时,我们还可以灵活的修改变量类型和实现。 然而,为什么程序员们都自动在对象中加入getter和setter方法,以此对外暴露私有变量,就如同这些变量是公有的一样? 存取方法 存取方法(又被称为getters和setters)是一些可以用来读写对象实例变量值的方法。 为什么使用存取方法? 在类中使用存取方法而非直接暴露属性是有理由的。 Getter和Setter使得API更加的稳定。 比如,假设类中有一个
java思维导图
2018/03/15
1.3K0
Getter & Setter:使用还是废弃
点击加载更多

相似问题

openSSL的替代方案

20

Scala:废弃集差的替代方案

13

Environment.getExternalStorageDirectory()废弃替代方案

20

openssl_encrypt的替代方案

10

用于星火DataFrame的废弃DataFrame替代方案

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档