Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
The base64-js npm package is a utility for encoding and decoding data to and from base64, a binary-to-text encoding scheme that represents binary data in an ASCII string format. It is commonly used to encode data in web applications.
Encoding a byte array to a base64 string
This feature allows you to convert a byte array (Uint8Array) into a base64 encoded string.
"use strict";\nconst base64js = require('base64-js');\nconst bytes = new Uint8Array([72, 101, 108, 108, 111]);\nconst base64String = base64js.fromByteArray(bytes);\nconsole.log(base64String); // Outputs: 'SGVsbG8='
Decoding a base64 string to a byte array
This feature allows you to convert a base64 encoded string back into a byte array (Uint8Array).
"use strict";\nconst base64js = require('base64-js');\nconst base64String = 'SGVsbG8=';\nconst bytes = base64js.toByteArray(base64String);\nconsole.log(bytes); // Outputs: Uint8Array [72, 101, 108, 108, 111]
The 'buffer' package provides a way to handle binary data in Node.js. It includes methods for encoding and decoding base64. It is more comprehensive than base64-js as it is a part of Node.js core and handles more than just base64 encoding.
The 'js-base64' package is another utility for encoding and decoding base64. It works both in the browser and in Node.js, and it also provides additional functionalities like Unicode string support, which base64-js does not have.
base64-js
does basic base64 encoding/decoding in pure JS.
Many browsers already have base64 encoding/decoding functionality, but it is for text data, not all-purpose binary data.
Sometimes encoding/decoding binary data in the browser is useful, and that is what this module does.
With npm do:
npm install base64-js
and var base64js = require('base64-js')
For use in web browsers do:
<script src="base64js.min.js"></script>
Get supported base64-js with the Tidelift Subscription
base64js
has three exposed functions, byteLength
, toByteArray
and fromByteArray
, which both take a single argument.
byteLength
- Takes a base64 string and returns length of byte arraytoByteArray
- Takes a base64 string and returns a byte arrayfromByteArray
- Takes a byte array and returns a base64 stringMIT
FAQs
Base64 encoding/decoding in pure JS
We found that base64-js demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.