产生数据密钥

<p><span style="font-size:18px"><strong>产生数据密钥:GenerateDataKey</strong></span></p> <p><strong>描述</strong></p> <p>利用一个主密钥产生一个数据密钥,且可以用其来对本地数据进行加解密操作。</p> <p>plainText字段返回数据密钥明文,cipherTextBlob字段返回数据密钥密文。</p> <p><strong>注意事项</strong></p> <ul> <li>当需要利用数据密钥对本地磁盘大量业务数据进行加解密时,您可以利用如下方式进行: <ol> <li>首先通过调用我们提供的API接口<strong>generateDataKey</strong>产生数据密钥;</li> <li>获取API接口返回的plainText(数据密钥明文),对本地数据进行加密,然后删除数据密钥明文;</li> <li>将加密后的数据及API接口返回的数据密钥密文进行本地持久化,实现明文不落地。</li> </ol> </li> <li>当keySpec和numberOfBytes都不填写时,默认keySpec为AES_256。</li> <li>同时指定numberOfBytes和keySpec时,以numberOfBytes为准。</li> </ul> <p><strong>请求参数</strong></p> <table border="1"> <thead> <tr> <th> <p>名称</p> </th> <th style="width:67px"> <p>类型</p> </th> <th style="width:86px"> <p>是否必需</p> </th> <th style="width:437px"> <p>描述</p> </th> </tr> </thead> <tbody> <tr> <td> <p>keyId</p> </td> <td style="width:67px"> <p>String</p> </td> <td style="width:86px"> <p>是</p> </td> <td style="width:437px"> <p>密钥的全局唯一标识符</p> </td> </tr> <tr> <td> <p>keySpec</p> </td> <td style="width:67px"> <p>String</p> </td> <td style="width:86px"> <p>否</p> </td> <td style="width:437px"> <p>产生数据密钥的长度与类型,AES_256表示256比特的对称密钥,AES_128表示128比特的对称密钥</p> </td> </tr> <tr> <td> <p>numberOfBytes</p> </td> <td style="width:67px"> <p>String</p> </td> <td style="width:86px"> <p>否</p> </td> <td style="width:437px"> <p>产生数据密钥的长度,以字节为单位。有效值:1到1024</p> </td> </tr> <tr> <td> <p>encryptionContext</p> </td> <td style="width:67px"> <p>String</p> </td> <td style="width:86px"> <p>否</p> </td> <td style="width:437px"> <p>附加盐值,如果指定了该参数,则在调用Decrypt 时需要提供同样的参数</p> </td> </tr> </tbody> </table> <p><strong>返回参数</strong></p> <table border="1"> <thead> <tr> <th> <p>名称</p> </th> <th> <p>类型</p> </th> <th> <p>描述</p> </th> </tr> </thead> <tbody> <tr> <td> <p>code</p> </td> <td> <p>String</p> </td> <td> <p>返回码,成功返回&quot;SUCCESS&quot;</p> </td> </tr> <tr> <td> <p>cipherTextBlob</p> </td> <td> <p>String</p> </td> <td> <p>加密后的数据密钥Data key</p> </td> </tr> <tr> <td> <p>keyId</p> </td> <td> <p>String</p> </td> <td> <p>密钥的全局唯一标识符</p> </td> </tr> <tr> <td> <p>plainText</p> </td> <td> <p>String</p> </td> <td> <p>数据密钥明文</p> </td> </tr> <tr> <td> <p>requestId</p> </td> <td> <p>String</p> </td> <td> <p>当前请求ID</p> </td> </tr> </tbody> </table> <p><strong>请求示例</strong></p> <pre> <code>https://kms-cn-shanghai.yun.pingan.com/?action=GenerateDataKey &amp;keyId=&lt;cmkid&gt; &amp;keySpec=&lt;key spec&gt; &amp;numberOfBytes=&lt;number of bytes&gt; &amp;encryptionContext=&lt;your encryption context&gt; &amp;&lt;公共请求参数&gt;</code></pre> <p><img src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" /><strong>返回示例</strong></p> <pre> <code>{ "code": "SUCCESS", "cipherTextBlob": "your data key cipher text blob ", "plainText": "your data key plain text", "keyId": "your key id", "requestId": "1d2f32cf-d75f-48c0-a9e4-05b82c6fe867" }</code></pre> <p>&nbsp;</p>
以上内容是否解决了您的问题?
请补全提交信息!
联系我们

电话咨询

400-151-8800

邮件咨询

fincloud@ocft.com

在线客服

工单支持

解决云产品相关技术问题