harmony 鸿蒙@system.cipher (Cipher Algorithm)
@system.cipher (Cipher Algorithm)
NOTE
- The initial APIs of this module are supported since API version 3. Newly added APIs will be marked with a superscript to indicate their earliest API version.
- The APIs provided by this module are deprecated since API version 9. You are advised to use @ohos.security.cryptoFramework Cipher.
Modules to Import
import cipher from '@system.cipher';
CipherResponse
Defines the response to the cipher interface called.
System capability: SystemCapability.Security.Cipher
Name | Type | Readable | Writable | Description |
---|---|---|---|---|
text | string | Yes | No | Response content. |
CipherRsaOptions
Defines the input parameters of cipher.rsa().
System capability: SystemCapability.Security.Cipher
Name | Type | Mandatory | Description |
---|---|---|---|
action | string | Yes | Action to perform. The options are as follows: 1. encrypt: Encrypts data. 2. decrypt: Decrypts data. |
text | string | Yes | Text to be encrypted or decrypted. The text to be encrypted must be a common text and cannot exceed the length calculated based on the formula (keySize/8 - 66). keySize indicates the key length. For example, if the key length is 1024 bytes, the text cannot exceed 62 bytes (1024⁄8 - 66 = 62). The text to be decrypted must be a binary value encoded in Base64. The default format is used for Base64 encoding. |
key | string | Yes | RSA key. It is a public key in encryption and a private key in decryption. |
transformation | string | No | RSA padding. The default value is RSA/None/OAEPWithSHA256AndMGF1Padding. |
success | (data: CipherResponse) => void | No | Called when data is encrypted or decrypted successfully. |
fail | (data: string, code: number) => void | No | Called when data fails to be encrypted or decrypted. |
complete | () => void | No | Called when the execution is complete. |
CipherAesOptions
Defines the input parameters of cipher.aes().
System capability: SystemCapability.Security.Cipher
Name | Type | Mandatory | Description |
---|---|---|---|
action | string | Yes | Action to perform. The options are as follows: 1. encrypt: Encrypts data. 2. decrypt: Decrypts data. |
text | string | Yes | Text to be encrypted or decrypted. The text to be encrypted must be common text. The text to be decrypted must be a binary value encoded in Base64. The default format is used for Base64 encoding. |
key | string | Yes | Key used for encryption or decryption. It is a Base64 encoded string. |
transformation | string | No | Encryption mode and padding of the AES algorithm. The default value is AES/CBC/PKCS5Padding. |
iv | string | No | Initialization vector (IV) for AES-based encryption and decryption. The value is a string encoded in Base64. The default value is the key value. |
ivOffset | string | No | Offset of the IV for AES-based encryption and decryption. The default value is 0, which is the only value supported. |
ivLen | string | No | Length of the IV, in bytes. This field is reserved. The default value is 16, which is the only value supported. |
success | (data: CipherResponse) => void | No | Called when data is encrypted or decrypted successfully. |
fail | (data: string, code: number) => void | No | Called when data fails to be encrypted or decrypted. |
complete | () => void | No | Called when the execution is complete. |
cipher.rsa
rsa(options: CipherRsaOptions): void
Encrypts or decrypts data using RSA.
System capability: SystemCapability.Security.Cipher
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | CipherRsaOptions | Yes | Parameters set for RSA encryption or decryption. |
Example
export default {
rsa() {
cipher.rsa({
// Encrypt data.
action: 'encrypt',
// Text to be encrypted.
text: 'hello',
// Base64-encoded public key used for encryption.
key:
'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCx414QSP3RsYWYzf9mkBMiBAXo\n' +
'6S7Lpva1fKlcuVxjoFC1iMnzD4mC0uiL4k5MNi43J64c7dbqi3qAJjdAtuwQ6NZJ\n' +
'+Enz0RzmVFh/4yk6lmqRzuEFQqhQqSZzaLq6sq2N2G0Sv2Xl3sLvqAfe2HNm2oBw\n' +
'jBpApTJ3TeneOo6Z5QIDAQAB',
success: function(data) {
console.log(`handling success:${data.text}`);
},
fail: function(data, code) {
console.log(`### cipher.rsa encrypt fail ### ${code}:${data}`);
},
complete: function() {
console.log(`operation complete!`);
}
});
cipher.rsa({
// Decrypt data.
action: 'decrypt',
// Text to be decrypted, which is binary text encoded in Base64. The decrypted text is "hello".
text:
'EPeCFPib6ayKbA0M6oSywARvFZ8dFYfjQv3nY8ikZGtS9UHq2sLPvAfpeIzggSiCxqbWeCftP1XQ\n' +
'Sa+jEpzFlT1qoSTunBbrYzugPTajIJDTg6R1IRsF/J+mmakn0POVPvi4jCo9wqavB324Bx0Wipnc\n' +
'EU5WO0oBHo5l4x6dTpU=',
// Base64-encoded private key used for decryption.
key:
'MIICXgIBAAKBgQCx414QSP3RsYWYzf9mkBMiBAXo6S7Lpva1fKlcuVxjoFC1iMnz\n' +
'D4mC0uiL4k5MNi43J64c7dbqi3qAJjdAtuwQ6NZJ+Enz0RzmVFh/4yk6lmqRzuEF\n' +
'QqhQqSZzaLq6sq2N2G0Sv2Xl3sLvqAfe2HNm2oBwjBpApTJ3TeneOo6Z5QIDAQAB\n' +
'AoGBAKPNtoRQcklxqo+2wQP0j2m3Qqnib1DggjVEgb/8f/LNYQSI3U2QdROemryU\n' +
'u3y6N3xacZ359PktTrRKfH5+8ohmHGhIuPAnefp6bLvAFUcl4t1xm74Cow62Kyw3\n' +
'aSbmuTG98dxPA1sXD0jiprdtsq2wQ9CoKNyY7/d/pKoqxNuBAkEA4GytZ60NCTj9\n' +
'w24jACFeko5YqCFY/TTLoc4SQvWtFMnimRPclLZhtUIK0P8dib71UFedx+AxklgL\n' +
'A5gjcfo+2QJBAMrqiwyCh3OQ5DhyRPDwt87x1/jg5fy4hhete2ufSf2FoQCVqO+w\n' +
'PKoljdXmJeS6rGgzGibstuHLrP3tcIho4+0CQD3ZFWzF/xq0jxKlrpWhnJuNCRfE\n' +
'oO6e9yNvVA8J/5oEDSOcmqSNIp4+RhbUx8InUxnCG6Ryv5aSFu71pYcKrPkCQQCL\n' +
'RUGcm3ZGTnslduB0knNF+V2ndwzDUQ7P74UXT+PjurTPhujFYiuxCEd6ORVnEOzG\n' +
'M9TORIgdH8MjIbWsGnndAkEAw9yURDaorE8IYPLF2IEn09g1uzvWPs3phDb6smVx\n' +
'8GfqIdUNf+aCG5TZK/kXBF1sqcsi7jXMAf4jBlejVbSVZg==',
success: function(data) {
console.log(`handling success:${data.text}`);
},
fail: function(data, code) {
console.log(`### cipher.rsa encrypt fail ### ${code}:${data}`);
},
complete: function() {
console.log(`operation complete!`);
}
});
}
}
cipher.aes
aes(options: CipherAesOptions): void
Encrypts or decrypts data using AES.
System capability: SystemCapability.Security.Cipher
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
options | CipherAesOptions | Yes | Parameters set for AES encryption or decryption. |
Example
export default {
aes() {
cipher.aes({
// Encrypt data.
action: 'encrypt',
// Text to be encrypted.
text: 'hello',
// Base64-encoded key.
key: 'NDM5Qjk2UjAzMEE0NzVCRjlFMkQwQkVGOFc1NkM1QkQ=',
transformation: 'AES/CBC/PKCS5Padding',
ivOffset: '0',
ivLen: '16',
success: function(data) {
console.log(`handling success:${data.text}`);
},
fail: function(data, code) {
console.log(`### cipher.rsa encrypt fail ### ${code}:${data}`);
},
complete: function() {
console.log(`operation complete!`);
}
});
cipher.aes({
// Decrypt data.
action: 'decrypt',
// Text to be decrypted, which is binary text encoded in Base64.
text: '1o0kf2HXwLxHkSh5W5NhzA==',
// Base64-encoded key.
key: 'NDM5Qjk2UjAzMEE0NzVCRjlFMkQwQkVGOFc1NkM1QkQ=',
transformation: 'AES/CBC/PKCS5Padding',
ivOffset: '0',
ivLen: '16',
success: function(data) {
console.log(`handling success:${data.text}`);
},
fail: function(data, code) {
console.log(`### cipher.aes encrypt fail ### ${code}:${data}`);
},
complete: function() {
console.log(`operation complete!`);
}
});
}
}
你可能感兴趣的鸿蒙文章
harmony 鸿蒙System Common Events (To Be Deprecated Soon)
harmony 鸿蒙System Common Events
harmony 鸿蒙API Reference Document Description
harmony 鸿蒙Enterprise Device Management Overview (for System Applications Only)
harmony 鸿蒙BundleStatusCallback
harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager)
harmony 鸿蒙@ohos.distributedBundle (Distributed Bundle Management)
harmony 鸿蒙@ohos.bundle (Bundle)
harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (EnterpriseAdminExtensionAbility)
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦