oracle - 如何使用 pl/sql 对 HMAC-SHA256 中的字符串进行编码?

标签 oracle plsql sha256

我正在使用 Oracle 数据库 11g Express Edition 在 PL/SQL 中进行 REST API 授权。我有 api_key、nonce 和签名作为每个过程的 IN 变量。

签名是一个 HMAC-SHA256 编码的字符串,其中包含存储在我的数据库中的 api_secret。我想检查签名是否与数据库中的 api_secret 匹配。

我的问题是如何使用 pl/sql 对 HMAC-SHA256 中的字符串进行编码?

最佳答案

  1. CruiserX 提供针对 Oracle 10g、11g 的 SHA256 PL/SQL 实现。 从here下载软件包.

  2. 在sqlplus中编译包和包体。

  3. 像这样调用函数:

    SQL> select sha256.encrypt('测试消息') from Dual;

    --输出:3f0a377ba0a4a460ecb616f6507ce0d8cfa3e704025d4fda3ed0c5ca05468728

    SQL> 从对偶中选择 sha256.encrypt_raw('74657374206D657373616765');

    --输出:3f0a377ba0a4a460ecb616f6507ce0d8cfa3e704025d4fda3ed0c5ca05468728

关于oracle - 如何使用 pl/sql 对 HMAC-SHA256 中的字符串进行编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36692999/

相关文章:

java - 来自公钥的 sha256 哈希

mysql - 使用asp.net在Mysql中使用SHA256对用户进行身份验证

mysql - 选择查询中的临时变量赋值/增量

python-3.x - 需要动态执行SQL查询

sql - 如何创建带参数的 SQL 函数?

oracle - 如何在 PL/SQL 中重用查询 block 以最大程度地减少代码样板和对象意大利面

sql - 如何迭代 PL/SQL 中的日期范围

oracle - 关于 SQL* Loader 提交范围和显示的问题

sql - 自加入的目的

c - 使用 C/C++ 使用 SHA256 加密文件