Socket
Socket
Sign inDemoInstall

cordova-plugin-aes256-encryption

Package Overview
Dependencies
24
Maintainers
5
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    cordova-plugin-aes256-encryption

This cordova ionic plugin allows you to perform AES 256 encryption and decryption on the plain text. It's a cross-platform plugin which supports both Android and iOS. The encryption and decryption are performed on the device native layer so that the perfo


Version published
Weekly downloads
272
decreased by-29.35%
Maintainers
5
Install size
1.99 MB
Created
Weekly downloads
 

Readme

Source

Cordova-AES256 Encryption And Decryption

This cordova ionic plugin allows you to perform AES 256 encryption and decryption on the plain text. It's a cross-platform plugin which supports both Android and iOS. The encryption and decryption are performed on the device native layer so that the performance is much faster. The entire operations is performed in the background thread.

AES Encryption Mode

AES 256 CBC mode encryption is used. For Android, PKCS5Padding is used and for iOS PKCS7Padding is used.

  • Getting Started
  • References

Getting Started

  1. Install Plugins
    ionic cordova plugin add cordova-plugin-aes256-encryption

    cordova plugin add cordova-plugin-add-swift-support --save

  2. Declare cordova variable and access the plugin after the platform get initialized

import { Injectable } from '@angular/core';
import { Platform } from 'ionic-angular/index';
declare var cordova: any;

@Injectable()
export class AES256Provider {

  secureKey: String = '12345678910123456789012345678901'; // Any string, the length should be 32
  secureIV: String = '1234567891123456'; // Any string, the length should be 16

  constructor(private platform: Platform) {
      // To generate random secure key
      this.generateSecureKey('some string');  // Optional
      
      // To generate random secure IV
      this.generateSecureIV('some string');   // Optional
      
      let data = "test";
      encrypt(this.secureKey, this.secureIV, data); 
      let encryptedData = "AE#3223==";
      decrypt(this.secureKey, this.secureIV, encryptedData);  
  }

  encrypt(secureKey, secureIV, data) {
    this.platform.ready().then(() => {
      cordova.plugins.AES256.encrypt(secureKey, secureIV, data,
        (encrypedData) => {
          console.log('Encrypted Data----', encrypedData);
        }, (error) => {
          console.log('Error----', error);
        });
    });
  }

  decrypt(secureKey, secureIV, encryptedData) {
    this.platform.ready().then(() => {
      cordova.plugins.AES256.decrypt(secureKey, secureIV, encryptedData,
        (decryptedData) => {
          console.log('Decrypted Data----', decryptedData);
        }, (error) => {
          console.log('Error----', error);
        });
    });
  }
  
  generateSecureKey(password) {
    this.platform.ready().then(() => {
      cordova.plugins.AES256.generateSecureKey(password,
        (secureKey) => {
          this.secureKey = secureKey;
          console.log('Secure Key----', secureKey);          
        }, (error) => {
          console.log('Error----', error);
        });
    });
  }
  
  generateSecureIV(password) {
    this.platform.ready().then(() => {
      cordova.plugins.AES256.generateSecureIV(password,
        (secureIV) => {
          this.secureIV = secureIV;
          console.log('Secure IV----', secureIV);          
        }, (error) => {
          console.log('Error----', error);
        });
    });
  }

}

Installation Errors

Failed to install 'cordova-plugin-aes256-encryption': CordovaError: Version of installed plugin: "cordova-plugin-add-swift-support@1.7.1" does not satisfy dependency plugin requirement "cordova-plugin-add-swift-support@^2.0.1". Try --force to use installed plugin as dependency.

If Above error has occurred then run

ionic cordova plugin add cordova-plugin-aes256-encryption --force --save

References

https://developer.android.com/reference/javax/crypto/Cipher

https://github.com/SwiftyBeaver/AES256CBC

Keywords

FAQs

Last updated on 02 Jun 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc