显示NodeJS应用中AlwaysEncrypted列的数据?

时间:2016-05-06 07:42:23

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

我在 .NET应用程序 NodeJS应用程序中访问了 SQL Azure数据库。我刚刚将 AlwaysEncrypted 应用于包含敏感信息的表列。我使用 Azure密钥保管库来存储加密密钥。

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

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

1 个答案:

答案 0 :(得分:2)

根据我的理解,我认为您所说的更优雅的方式是直接使用JavaScript解密应用的列始终加密的数据。

我无法找到直接执行此操作的任何代码。但是,我认为有两种方法可以尝试。

  1. 根据官方文档Using Always Encrypted with the JDBC Driver,您可以尝试使用节点包node-java来桥接使用Java查询加密列数据的API。请将以下内容添加到节点中。
  2.   

    对于带有SQL Server 2016的SQL Server(预览版), Microsoft JDBC驱动程序6.0(预览)或更高版本仅支持“始终加密”。

    1. 有一个文档Always Encrypted Cryptography描述了加密算法和机制,用于派生SQL Server和Azure SQL数据库中始终加密功能中使用的加密材料。您似乎可以通过使用crypto-jsbcrypt等某些节点包执行数据加密算法的反向过程来尝试解密加密数据。
    2. 希望它有所帮助。