diff --git a/packages/core/package.json b/packages/core/package.json
index a1a1246226f11087847a0c5ca4dc33bbf8e6a621..259619291415f8503f3c78abf2204043ee1ae394 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -11,7 +11,6 @@
     "@xenova/transformers": "^2.10.0",
     "assemblyai": "^4.0.0",
     "compromise": "^14.10.1",
-    "crypto-js": "^4.2.0",
     "file-type": "^18.7.0",
     "js-tiktoken": "^1.0.8",
     "lodash": "^4.17.21",
@@ -32,7 +31,6 @@
     "wink-nlp": "^1.14.3"
   },
   "devDependencies": {
-    "@types/crypto-js": "^4.2.1",
     "@types/jest": "^29.5.11",
     "@types/lodash": "^4.14.202",
     "@types/node": "^18.19.2",
diff --git a/packages/core/src/Node.ts b/packages/core/src/Node.ts
index f967a188f29a9ef664213abf257fd95bcd22a86d..386c37b44c6a67f83a11fa0b044d22d2434fa814 100644
--- a/packages/core/src/Node.ts
+++ b/packages/core/src/Node.ts
@@ -1,4 +1,4 @@
-import CryptoJS from "crypto-js";
+import { createHash } from "node:crypto";
 import path from "path";
 import { v4 as uuidv4 } from "uuid";
 
@@ -177,13 +177,13 @@ export class TextNode<T extends Metadata = Metadata> extends BaseNode<T> {
    * @returns
    */
   generateHash() {
-    const hashFunction = CryptoJS.algo.SHA256.create();
+    const hashFunction = createHash("sha256");
     hashFunction.update(`type=${this.getType()}`);
     hashFunction.update(
       `startCharIdx=${this.startCharIdx} endCharIdx=${this.endCharIdx}`,
     );
     hashFunction.update(this.getContent(MetadataMode.ALL));
-    return hashFunction.finalize().toString(CryptoJS.enc.Base64);
+    return hashFunction.digest("base64");
   }
 
   getType(): ObjectType {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 85008c0b1e05288fa2a717dd54a29d9b1d5b1e25..88806256effec47c13547ea880ce47fa24163d74 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -161,9 +161,6 @@ importers:
       compromise:
         specifier: ^14.10.1
         version: 14.10.1
-      crypto-js:
-        specifier: ^4.2.0
-        version: 4.2.0
       file-type:
         specifier: ^18.7.0
         version: 18.7.0
@@ -219,9 +216,6 @@ importers:
         specifier: ^1.14.3
         version: 1.14.3
     devDependencies:
-      '@types/crypto-js':
-        specifier: ^4.2.1
-        version: 4.2.1
       '@types/jest':
         specifier: ^29.5.11
         version: 29.5.11
@@ -4441,10 +4435,6 @@ packages:
       '@types/node': 20.9.0
     dev: true
 
-  /@types/crypto-js@4.2.1:
-    resolution: {integrity: sha512-FSPGd9+OcSok3RsM0UZ/9fcvMOXJ1ENE/ZbLfOPlBWj7BgXtEAM8VYfTtT760GiLbQIMoVozwVuisjvsVwqYWw==}
-    dev: true
-
   /@types/eslint-scope@3.7.5:
     resolution: {integrity: sha512-JNvhIEyxVW6EoMIFIvj93ZOywYFatlpu9deeH6eSx6PE3WHYvHaQtmHmQeNw7aA81bYGBPPQqdtBm6b1SsQMmA==}
     dependencies:
@@ -6820,10 +6810,6 @@ packages:
       randomfill: 1.0.4
     dev: true
 
-  /crypto-js@4.2.0:
-    resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==}
-    dev: false
-
   /crypto-random-string@2.0.0:
     resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
     engines: {node: '>=8'}