mirror of
https://github.com/denoland/deno.git
synced 2024-11-24 15:19:26 -05:00
fix(ext/node): fix Cipheriv#update(string, undefined)
(#25571)
This commit is contained in:
parent
200145a09a
commit
aae3a6bcb4
2 changed files with 28 additions and 12 deletions
|
@ -242,7 +242,7 @@ export class Cipheriv extends Transform implements Cipher {
|
|||
): Buffer | string {
|
||||
// TODO(kt3k): throw ERR_INVALID_ARG_TYPE if data is not string, Buffer, or ArrayBufferView
|
||||
let buf = data;
|
||||
if (typeof data === "string" && typeof inputEncoding === "string") {
|
||||
if (typeof data === "string") {
|
||||
buf = Buffer.from(data, inputEncoding);
|
||||
}
|
||||
|
||||
|
@ -396,7 +396,7 @@ export class Decipheriv extends Transform implements Cipher {
|
|||
): Buffer | string {
|
||||
// TODO(kt3k): throw ERR_INVALID_ARG_TYPE if data is not string, Buffer, or ArrayBufferView
|
||||
let buf = data;
|
||||
if (typeof data === "string" && typeof inputEncoding === "string") {
|
||||
if (typeof data === "string") {
|
||||
buf = Buffer.from(data, inputEncoding);
|
||||
}
|
||||
|
||||
|
|
|
@ -139,6 +139,7 @@ Deno.test({
|
|||
Deno.test({
|
||||
name: "createCipheriv - input encoding",
|
||||
fn() {
|
||||
{
|
||||
const cipher = crypto.createCipheriv(
|
||||
"aes-128-cbc",
|
||||
new Uint8Array(16),
|
||||
|
@ -149,6 +150,21 @@ Deno.test({
|
|||
"ca7df4d74f51b77a7440ead38343ab0f",
|
||||
);
|
||||
assertEquals(cipher.final("hex"), "d0da733dec1fa61125c80a6f97e6166e");
|
||||
}
|
||||
|
||||
{
|
||||
const cipher = crypto.createCipheriv(
|
||||
"aes-128-cbc",
|
||||
new Uint8Array(16),
|
||||
new Uint8Array(16),
|
||||
);
|
||||
// update with string without input encoding
|
||||
assertEquals(
|
||||
cipher.update("hello, world! hello, world!").toString("hex"),
|
||||
"ca7df4d74f51b77a7440ead38343ab0f",
|
||||
);
|
||||
assertEquals(cipher.final("hex"), "d0da733dec1fa61125c80a6f97e6166e");
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue