在NodeJS应用程序中显示来自AlwaysEncrypted列的数据?
我在Azure中有一个SQL Server数据库,由.NET应用程序和NodeJS应用程序访问 。 我只是将AlwaysEncrypted应用于包含敏感信息的表列。 我使用Azure密钥保pipe库来存储encryption密钥。
我想知道是否有可能在我的NodeJS应用程序中显示(解密)的数据?
解决这个问题的方法是通过.NET应用程序中的API端点公开要查询的数据,然后从NodeJS应用程序中调用该端点,但是我正在寻找一种更优雅的方法 。
基于我的理解,我认为你所说的更优雅的方式是直接使用JavaScript解密应用于总是encryption的列的数据。
我找不到任何代码直接做。 不过,我觉得有两种方法可以尝试。
- 根据
Using Always Encrypted with the JDBC Driver
的官方文档,您可以尝试使用节点程序包node-java
桥接使用Java查询encryption列数据的API。 请节点下面的内容。
对于SQL Server 2016(预览版),SQL Server始终只使用Microsoft JDBC Driver 6.0(Preview)或更高版本支持encryption。
- 有一个文档
Always Encrypted Cryptography
描述encryptionalgorithm和机制来派生在SQL Server和Azure SQL数据库的Always Encryptedfunction中使用的encryption材料。 看来你可以试着通过encryptionalgorithm的逆过程来解密encryption的数据,encryptionalgorithm就像crypto-js
,bcrypt
等一些节点包一样。
希望能帮助到你。
- Azure网站从Visual Studio发布后不刷新
- 当Node应用程序返回一个4xx时,IIS返回500
- 使用nodejs将数据从Rfid rc522发送到azureiot集线器
- Azure Node.js Express App scaffold.xml缺失
- Node.js SDK中的Azure ServiceBus SAS
- 无法在Azure Web应用程序上运行EXE文件
- Azure Cosmos DB:TypeError:无法读取未定义的属性'electionId'
- Azure上的Node.js和HBase(HDInsight)
- 通过Visual Studio部署到Azure Cloud Service时,未设置环境variables