Browse Source

Solución error app.module.ts

Jose Brito 3 years ago
parent
commit
7f661e57ea

+ 4 - 1
sistema-mantenimiento-front/angular.json

@@ -30,7 +30,10 @@
               "src/custom-theme.scss",
               "src/styles.css"
             ],
-            "scripts": []
+            "scripts": [
+              "node_modules/libsodium/dist/modules/libsodium.js",
+              "node_modules/libsodium-wrappers/dist/modules/libsodium-wrappers.js"
+            ]
           },
           "configurations": {
             "production": {

+ 88 - 1
sistema-mantenimiento-front/package-lock.json

@@ -19,7 +19,9 @@
         "@angular/platform-browser-dynamic": "~13.1.0",
         "@angular/router": "~13.1.0",
         "libsodium-wrappers": "^0.7.9",
+        "path": "^0.12.7",
         "rxjs": "~7.4.0",
+        "stream": "^0.0.2",
         "tslib": "^2.3.0",
         "zone.js": "~0.11.4"
       },
@@ -29,7 +31,7 @@
         "@angular/compiler-cli": "~13.1.0",
         "@types/jasmine": "~3.10.0",
         "@types/libsodium-wrappers": "^0.7.9",
-        "@types/node": "^12.11.1",
+        "@types/node": "^12.20.47",
         "jasmine-core": "~3.10.0",
         "karma": "~6.3.0",
         "karma-chrome-launcher": "~3.1.0",
@@ -4686,6 +4688,11 @@
       "integrity": "sha512-K9AsQ41WS2bjZUFpRWfvaS4RjEcRCamEkBJN1Z1TQILBfP1H8QnJ9ti0wiLiMv0sRjX3EHKzgs9jDnmGFx2jXg==",
       "dev": true
     },
+    "node_modules/emitter-component": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.1.1.tgz",
+      "integrity": "sha1-Bl4tvtaVm/RwZ57avq95gdEAOrY="
+    },
     "node_modules/emoji-regex": {
       "version": "8.0.0",
       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -8368,6 +8375,15 @@
         "node": ">= 0.8"
       }
     },
+    "node_modules/path": {
+      "version": "0.12.7",
+      "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
+      "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=",
+      "dependencies": {
+        "process": "^0.11.1",
+        "util": "^0.10.3"
+      }
+    },
     "node_modules/path-exists": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -9045,6 +9061,14 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/process": {
+      "version": "0.11.10",
+      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+      "engines": {
+        "node": ">= 0.6.0"
+      }
+    },
     "node_modules/process-nextick-args": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -10153,6 +10177,14 @@
         "node": ">= 0.6"
       }
     },
+    "node_modules/stream": {
+      "version": "0.0.2",
+      "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.2.tgz",
+      "integrity": "sha1-f1Nj8Ff2WSxVlfALyAon9c7B8O8=",
+      "dependencies": {
+        "emitter-component": "^1.1.1"
+      }
+    },
     "node_modules/streamroller": {
       "version": "3.0.5",
       "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.0.5.tgz",
@@ -10715,12 +10747,25 @@
       "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
       "dev": true
     },
+    "node_modules/util": {
+      "version": "0.10.4",
+      "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
+      "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
+      "dependencies": {
+        "inherits": "2.0.3"
+      }
+    },
     "node_modules/util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
       "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
       "dev": true
     },
+    "node_modules/util/node_modules/inherits": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+    },
     "node_modules/utils-merge": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
@@ -14705,6 +14750,11 @@
       "integrity": "sha512-K9AsQ41WS2bjZUFpRWfvaS4RjEcRCamEkBJN1Z1TQILBfP1H8QnJ9ti0wiLiMv0sRjX3EHKzgs9jDnmGFx2jXg==",
       "dev": true
     },
+    "emitter-component": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.1.1.tgz",
+      "integrity": "sha1-Bl4tvtaVm/RwZ57avq95gdEAOrY="
+    },
     "emoji-regex": {
       "version": "8.0.0",
       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -17433,6 +17483,15 @@
       "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
       "dev": true
     },
+    "path": {
+      "version": "0.12.7",
+      "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
+      "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=",
+      "requires": {
+        "process": "^0.11.1",
+        "util": "^0.10.3"
+      }
+    },
     "path-exists": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -17889,6 +17948,11 @@
       "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
       "dev": true
     },
+    "process": {
+      "version": "0.11.10",
+      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
+    },
     "process-nextick-args": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -18738,6 +18802,14 @@
       "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
       "dev": true
     },
+    "stream": {
+      "version": "0.0.2",
+      "resolved": "https://registry.npmjs.org/stream/-/stream-0.0.2.tgz",
+      "integrity": "sha1-f1Nj8Ff2WSxVlfALyAon9c7B8O8=",
+      "requires": {
+        "emitter-component": "^1.1.1"
+      }
+    },
     "streamroller": {
       "version": "3.0.5",
       "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.0.5.tgz",
@@ -19134,6 +19206,21 @@
         }
       }
     },
+    "util": {
+      "version": "0.10.4",
+      "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
+      "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
+      "requires": {
+        "inherits": "2.0.3"
+      },
+      "dependencies": {
+        "inherits": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+        }
+      }
+    },
     "util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",

+ 3 - 1
sistema-mantenimiento-front/package.json

@@ -21,7 +21,9 @@
     "@angular/platform-browser-dynamic": "~13.1.0",
     "@angular/router": "~13.1.0",
     "libsodium-wrappers": "^0.7.9",
+    "path": "^0.12.7",
     "rxjs": "~7.4.0",
+    "stream": "^0.0.2",
     "tslib": "^2.3.0",
     "zone.js": "~0.11.4"
   },
@@ -31,7 +33,7 @@
     "@angular/compiler-cli": "~13.1.0",
     "@types/jasmine": "~3.10.0",
     "@types/libsodium-wrappers": "^0.7.9",
-    "@types/node": "^12.11.1",
+    "@types/node": "^12.20.47",
     "jasmine-core": "~3.10.0",
     "karma": "~6.3.0",
     "karma-chrome-launcher": "~3.1.0",

+ 9 - 2
sistema-mantenimiento-front/src/app/components/login/login.component.ts

@@ -1,4 +1,5 @@
 import { Component, OnInit } from '@angular/core';
+import { EncService } from 'src/app/services/enc/enc.service';
 
 @Component({
   selector: 'app-login',
@@ -7,9 +8,15 @@ import { Component, OnInit } from '@angular/core';
 })
 export class LoginComponent implements OnInit {
 
-  constructor() { }
+  constructor(private _encService: EncService) { }
+  enc2:string = "";
 
-  ngOnInit(): void {
+  async ngOnInit() {
+    let resp:string = await this._encService.encriptar("Hola");
+    console.log(resp);
+    
+    
   }
 
+
 }

+ 52 - 23
sistema-mantenimiento-front/src/app/services/enc/enc.service.ts

@@ -8,8 +8,33 @@ import { public_key, secret_key } from 'src/environments/environment';
 export class EncService {
 
   constructor() { }
-  
+
   encriptar(valor: string) {
+    return (async() => {
+      await _sodium.ready;
+      const sodium = _sodium;
+      var nonce = sodium.randombytes_buf(sodium.crypto_box_NONCEBYTES);
+    
+      var encoded = sodium.crypto_box_easy(
+        valor,
+        nonce,
+        this.stringToUT8(public_key),
+        this.stringToUT8(secret_key)
+      );
+  
+      var data_json = JSON.stringify(encoded);
+      var nonce_json = JSON.stringify(nonce);
+  
+      let data_base64 = window.btoa(data_json);
+      let nonce_base64 = window.btoa(nonce_json);
+  
+      let enc = window.btoa(data_base64 + '|' + nonce_base64);
+  
+      return enc;
+    })();
+  }
+
+  /* encriptar(valor: string) {
     var nonce = _sodium.randombytes_buf(_sodium.crypto_box_NONCEBYTES);
     
     var encoded = _sodium.crypto_box_easy(
@@ -29,32 +54,36 @@ export class EncService {
 
     return enc;
     
-  }
+  } */
 
-   desencriptar(valor: string) { 
-    let valor_base64 = window.atob(valor);
-    let arrEnc = valor_base64.split('|');
+   desencriptar(valor: string) {
+    return (async() => {
+      await _sodium.ready;
+      const sodium = _sodium;
 
-    let nonce = window.atob(arrEnc[1]);
-    let nonce_arr = JSON.parse(nonce);
-    let nonce_final = new Uint8Array(nonce_arr);
+      let valor_base64 = window.atob(valor);
+      let arrEnc = valor_base64.split('|');
 
-    let enc = window.atob(arrEnc[0]);
-    let enc_arr = JSON.parse(enc);    
-    let enc_final = new Uint8Array(enc_arr);   
-    
-    
-    var decoded = _sodium.crypto_box_open_easy(
-      enc_final,
-      nonce_final,
-      this.stringToUT8(public_key),
-      this.stringToUT8(secret_key)
-    );
-    
-    let dec = this.UT8ToString(decoded);
+      let nonce = window.atob(arrEnc[1]);
+      let nonce_arr = JSON.parse(nonce);
+      let nonce_final = new Uint8Array(nonce_arr);
 
-    return dec;
-    
+      let enc = window.atob(arrEnc[0]);
+      let enc_arr = JSON.parse(enc);    
+      let enc_final = new Uint8Array(enc_arr);   
+      
+      
+      var decoded = sodium.crypto_box_open_easy(
+        enc_final,
+        nonce_final,
+        this.stringToUT8(public_key),
+        this.stringToUT8(secret_key)
+      );
+      
+      let dec = this.UT8ToString(decoded);
+
+      return dec;
+    })();
   }
 
   private stringToUT8(key: string): Uint8Array {