Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

pkcs7-padding

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pkcs7-padding

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

  • 0.1.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

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

Keywords

FAQs

Package last updated on 16 Aug 2018

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc