0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:71:19) at Object.createHash (node:crypto:133:10)如何修改这个bug
时间: 2023-05-25 21:06:25 浏览: 1399
这个错误提示是因为你的代码中使用了不支持的数字信封例程,具体错误在创建哈希时抛出,建议按照以下步骤修改该错误:
1. 查看你的代码中哪些部分使用了数字信封例程,例如加密、解密、签名、验证等等。
2. 确认你的代码是基于哪个版本的 Node.js 运行的,如果你使用了较老的版本,可能需要升级到更高版本以支持数字信封例程。
3. 如果你确定使用的 Node.js 版本已支持相应的数字信封例程,那么可以尝试升级你使用的加解密库,也可以查看该加解密库的文档,看看是否有关于该错误的解决方案。
4. 重新运行程序,看看是否还会出现该错误,如果还是出现该错误,请参考错误提示信息中的行数和列数,检查相应位置的代码是否存在问题,例如参数传递错误、变量未定义等等。
如果以上方法都无法解决该错误,请考虑寻求更高水平的技术支持。
相关问题
error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:71:19)
这个错误是由于使用了不支持的加密算法引起的。根据引用,这个错误可能是由于使用的 OpenSSL 版本不兼容所导致的。可以尝试修改项目的 package.json 文件中的脚本,使用 `--openssl-legacy-provider` 参数来指定使用旧版的 OpenSSL 提供者。具体操作可以参考引用中的示例。
另外,引用提到可以尝试将 Node 版本降级到 16.20.0,并在环境变量中进行相应的配置,这也可能解决这个问题。然而,这可能会导致其他问题,比如无法访问迅雷。因此,建议在降低 Node.js 版本之前先考虑其他解决方案。
综上所述,你可以尝试使用引用中的方法修改 package.json 文件,或者考虑其他解决方案,而不是降级 Node.js 版本。这样可以避免引起其他不必要的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [解决 Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypt](https://blog.csdn.net/u013258020/article/details/129920707)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *3* [Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/h](https://blog.csdn.net/mp624183768/article/details/129883415)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:71:19)
根据提供的引用内容,这个错误是由于使用了不受支持的加密算法引起的。根据引用和引用的信息,可以尝试在package.json文件的scripts中新增一行配置"SET NODE_OPTIONS=--openssl-legacy-provider"来解决这个问题。这个配置可以设置Node.js运行时使用旧版本的OpenSSL,从而避免不受支持的加密算法导致的错误。如果还是出现问题,引用建议将Node.js版本降级至16.20.0,并在环境变量中设置相关配置。然而,需要注意的是,降级Node.js版本可能会导致其他问题,比如无法访问迅雷。如果这是一个问题的话,可以尝试安装指定版本的迅雷以避免冲突。总的来说,建议尝试在scripts中设置"SET NODE_OPTIONS=--openssl-legacy-provider"来解决这个错误。如果问题仍然存在,可以考虑更换其他解决方案或者进一步调查该错误的原因。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文