我在 .NET应用程序和 NodeJS应用程序中访问了 SQL Azure数据库。我刚刚将 AlwaysEncrypted 应用于包含敏感信息的表列。我使用 Azure密钥保管库来存储加密密钥。
我想知道是否可以在我的NodeJS应用程序中显示(解密的)数据?
解决这个问题的方法是在我的.NET应用程序中通过API端点公开我想要查询的数据,然后从我的NodeJS应用程序调用该端点,但我正在寻找 a更优雅的做法。
答案 0 :(得分:2)
根据我的理解,我认为您所说的更优雅的方式是直接使用JavaScript解密应用的列始终加密的数据。
我无法找到直接执行此操作的任何代码。但是,我认为有两种方法可以尝试。
Using Always Encrypted with the JDBC Driver
,您可以尝试使用节点包node-java
来桥接使用Java查询加密列数据的API。请将以下内容添加到节点中。对于带有SQL Server 2016的SQL Server(预览版), Microsoft JDBC驱动程序6.0(预览)或更高版本仅支持“始终加密”。
Always Encrypted Cryptography
描述了加密算法和机制,用于派生SQL Server和Azure SQL数据库中始终加密功能中使用的加密材料。您似乎可以通过使用crypto-js
,bcrypt
等某些节点包执行数据加密算法的反向过程来尝试解密加密数据。希望它有所帮助。