【问题标题】:Display data from an AlwaysEncrypted column in a NodeJS app?在 NodeJS 应用程序中显示来自 AlwaysEncrypted 列的数据?
【发布时间】:2016-12-21 08:21:43
【问题描述】:

我在 Azure 中有一个 SQL Server 数据库,可以通过 .NET 应用程序NodeJS 应用程序 进行访问。我刚刚将 AlwaysEncrypted 应用于包含敏感信息的表列。我使用 Azure Key Vault 来存储加密密钥。

我想知道是否可以在我的 NodeJS 应用中显示(解密的)数据?

解决方法是在我的 .NET 应用程序中通过 API 端点公开我想查询的数据,然后从我的 NodeJS 应用程序调用该端点,但我正在寻找一个更优雅的 这样做的方法

【问题讨论】:

    标签: sql-server node.js azure sql-server-2016 always-encrypted


    【解决方案1】:

    根据我的理解,我认为你说的更优雅的方式是直接使用 JavaScript 来解密应用 Always Encrypted 的列的数据。

    我找不到任何直接执行此操作的代码。不过,我认为您可以尝试两种方法。

    1. 根据官方文档Using Always Encrypted with the JDBC Driver,可以尝试使用节点包node-java桥接一个使用Java查询加密列数据的API。请在下面列出内容。

    只有 Microsoft JDBC Driver 6.0(预览版) 或更高版本的 SQL Server 和 SQL Server 2016(预览版)支持始终加密。

    1. 有一个文档Always Encrypted Cryptography 描述了用于派生在 SQL Server 和 Azure SQL 数据库中的 Always Encrypted 功能中使用的加密材料的加密算法和机制。看来您可以尝试通过使用crypto-jsbcrypt等一些节点包执行数据加密算法的逆过程来解密加密数据。

    希望对你有帮助。

    【讨论】:

    • 感谢您的回答,我暂时选择了不太优雅的解决方案,因为逆向工程技术在时间方面效率较低(即投入研究部分的时间)。但是,当我有机会时,我会尝试一下。干杯
    • 嗨@Toonsylvania你能解决这个问题吗??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 2020-08-02
    • 2021-06-18
    • 2018-08-06
    相关资源
    最近更新 更多