pkcs7-padding
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/pkcs7-padding package

0.1.1 • Public • Published

pkcs7-padding

A tiny package that handles PKCS #7 padding for both strings and byte arrays.

See RFC 5652, section 6.3 for more details.

  • ES5
  • No dependencies
  • Tested

Basic usage

var pkcs7 = require('pkcs7-padding');
 
// padding
var data = new Uint8Array(14);
var padded = pkcs7.pad(data);
 
// unpadding
var raw = pkcs7.unpad(padded);

Note that unpad() throws an error when the padded data is incorrect :

try {
  var raw = pkcs7.unpad(data);
  // use raw data
} catch (e) {
  console.error('this is not a valid PKCS #7 padded buffer');
}

It works with strings as well :

var pkcs7 = require('pkcs7-padding');
 
var padded = pkcs7.pad('this is a text');
var raw = pkcs7.unpad(padded);

Custom block size

You have the ability to change the block size of the padded data.
The default block size is set to 16 bytes.
The maximum block size is 255 bytes.

var pkcs7 = require('pkcs7-padding');
 
var data = new Uint8Array(14);
var padded = pkcs7.pad('this is a text', 32); // pad data on 32 bytes block size.
 
console.log(padded.byteLength); // 32
 
var raw = pkcs7.unpad(padded); // you can unpad any block size
 
console.log(raw.byteLength); // 14

Readme

Keywords

Package Sidebar

Install

npm i pkcs7-padding

Weekly Downloads

3,078

Version

0.1.1

License

MIT

Unpacked Size

6.1 kB

Total Files

4

Last publish

Collaborators

  • neeh