{"id":20800335,"url":"https://github.com/maxtermax/enigma-code","last_synced_at":"2025-05-07T00:09:04.854Z","repository":{"id":16919483,"uuid":"19680833","full_name":"Maxtermax/enigma-code","owner":"Maxtermax","description":null,"archived":false,"fork":false,"pushed_at":"2017-05-16T14:57:49.000Z","size":3883,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T00:09:00.139Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Maxtermax.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-05-12T00:14:02.000Z","updated_at":"2023-05-31T13:55:56.000Z","dependencies_parsed_at":"2022-09-26T21:02:17.271Z","dependency_job_id":null,"html_url":"https://github.com/Maxtermax/enigma-code","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maxtermax%2Fenigma-code","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maxtermax%2Fenigma-code/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maxtermax%2Fenigma-code/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maxtermax%2Fenigma-code/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Maxtermax","download_url":"https://codeload.github.com/Maxtermax/enigma-code/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252788527,"owners_count":21804284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T18:13:21.176Z","updated_at":"2025-05-07T00:09:04.800Z","avatar_url":"https://github.com/Maxtermax.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ¿Que es enigma-code?\n\nEs un sencillo modulo hecho en nodejs que sirve para encriptar contraseñas con varias funciones para comparar, desencriptar etc.\n\n## Instalacion\n\n```sh \n npm install enigma-code\n```\n\n# ¿Ejemplo?\n Claro puedes correr un pequeño ejemplo y ver la magia este modulo para hacer esto:\n\n```sh\n npm run test\n```\n\n# ¿Como usar?\nEs bastante facil ya que no son muchas las funciones que tiene enigma-code puntualmente funciona de la siguiente forma:\n\n## Generar hash:\n\n```javascript\nconst enigma = require('enigma-code');//llama el modulo \nconst valorEncriptacion = 10;//puede ser cualquier numero\nlet key = 'millave';//No debe tener espacios\n\nenigma.genHash(valorEncriptacion,key,'contraseña123',function(err,hash){\n\tif(err) return console.log(err);//Solo se ejecutara si existe un error\n\tconsole.log(hash)//2dl3lkwkj13kj12k12kj321kj\n//esa funcion retorna por defecto en hash la contraseña encriptada\n});\n\n//que le pases como parametro es de tu eleccion en valor que le pases\n\n/*El segundo parametro es una llave o key esto es una vale de seguridad \ncon el cual todas tus contraseñas seran encriptadas\nsin esto sera imposible desencriptar con exito la longitud de esta llave\ndebe ser inferior a 10 caractes, pero si quieres tambien puedes encriptar\nesta llave.\n*/\n\n/*\n el cuarto paramtro es una funcion que tiene con parametros un error en caso tal de\n que ocurriera un error y el segundo parametro que devuelve es el 'hash' \n es decir la contraseña encriptada es importante pedirlo en el callback de la funcion\n*/\n//eso es todo con la funcion de encriptar contraseña o genHash() :)\n```\n\nEs importante dejar en claro que cada contraseña que encriptes\ncon el valor que tenga tu key solo podra ser desencriptada con \nexito si el key es el mismo con el que fue encriptada la contraseña.\n\nPuedes aprender mas sobre expreciones regulares aqui: http://regexr.com/\n\n\n## Desencriptar\nEsta funcion es muy sencilla de usar es importante dejar claro que primero se debe establecer.\n\nEl valor de encriptacion con la funcion genHash() \nes decir la funcion genHash() siempre debe ir declarada primero\n\n\n```javascript\n\n\nlet hash ='ē285ĺ324ķ321Ĭ310ķ321ĺ324ĳ317Ĵ318Į312Ĵ318ľ328Ŀ329İ314';\n\nenigma.Desencriptar(hash)//el primer parametro que se necesita\n//en esta funcion es obviamente la hash a desencriptar\n\n//si el valor de encriptacion es distinto al el valor con el que esta encriptado \n//el hash entonces desencriptara mal.\n\nenigma.Desencriptar(hash,function(err,des){\n\tif(err) return console.log(err);\n\tconsole.log(des);//return desencriptacion\n});//el segundo parametro es una funcion que tiene con parametros un error en\n //caso tal de que ocurriera un error y el segundo parametro que devuelve es 'des'\n// es decir la contraseña desencriptada\n\n/*\n\timportante dejar claro que el valor de encriptacion de el hash\n\tcon el que se quiere  debe ser igual al que se definio en la funcion\n\tgenHash() y tambien el valor de el \n\tkey  de lo contrario no podra desencriptar con exito\n\tmuy similar a la funcion anterior.\n*/ \n\n```\n\n## Comparar:\nEsta funcion retorna un valor boolean si la contraseña candidata \nes la misma del hash entonces retornara true de lo contrario false.\n\n```javascript\n\nvar hash='ē285ĺ324ķ321Ĭ310ķ321ĺ324ĳ317Ĵ318Į312Ĵ318ľ328Ŀ329İ314';\n\nenigma.comparar(hash)//el primer parametro es el hash que deberia estar en tu\n//DB store encriptado con la funcion genHash()\n\nenigma.comparar(hash,'ContraseñaCandidata')//el segundo parametro es la contraseña candidata con la que se intenta validar\n\nenigma.comparar(hash,'ContraseñaCandidata',function(err,res){\n\tif(err) return console.log(err);\n\tconsole.log(res)//false\n});//el tercer parametro es una funcion que tiene con parametros un error en\n //caso tal de que ocurriera un error y el segundo parametro que devuelve es 'res'\n// es decir la respuesta de si la contraseña candidata es igual a el hash o no \n//'res' es un valor boolean que retorna true o false\n\n\n\n/*\nImportante dejar claro que el valor de encriptacion de el hash que se quiere compara \ndebe ser igual al que se definio en la funcion genHash() y tambien el valor de el \nkey  de lo contrario no podra comparar se con exito\n*/\n```\n\n\n# Errores:\n\n## Antes de comparar necesita un valor de encriptacion\n\nEs por que no haz definido el valor de encriptacion con la funcion \ngenHash() si no sabes cual esta funcion:ve hacia la seccion como usar enigma y busca \nla primera funcion de todas llamada \"funcion Generar hash\"\n\n\n## Antes de Desenciptar necesita un valor de encriptacion\n\nEs por que no haz definido el valor de encriptacion con la funcion genHash() \nsi no sabes cual esta funcion\n\nve hacia la seccion como usar enigma y busca la funcion principal\nllamada \"funcion Generar hash\".\n\n\n## Error introduce un valor mayor a cero\n\nEste error se produce por que le pasaste como parametro a la funcion genHash()\nun valor no valido como lo es 0 o inferior es decir valores negativo\n\n\n## Error introduce un valor mayor a cero\n\nEste error se produce por que le pasaste como parametro a la funcion genHash()\nun valor no valido como lo es 0 o inferior es decir valores negativo\n\n## Error Introduce una contraseña valida\n\nEste error se produce por que en la funcion genHash() esta especificado que el \nparametro de la contraseña debe ser de minimo 10 caracteres y maximo 15 y sin espacios\npara solucionar lo solo tienes que cumplir las reglas anterios mente mencionadas\npuedes usar una exprecion regular tambien te recomiendo que sigas este tutorial \nsi no conoces bien las expreciones regulares: http://webintenta.com/validacion-con-expresiones-regulares-y-javascript.html \n\n## Contraseña erronea\n\nEste error se produce cuando intentas desencriptar o compara una contraseña \ncon el key o llave incorrecto con esto me refiero a que el key con el cual \nfue encriptada la contraseña originalmente es distinto al que definiste en la funcion genHash(), para solucionarlo debes introducir el key correcto.\n\n\n\n## Contacto:\n- esnene02@gmail.com \n- https://twitter.com/Sneyder_A \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxtermax%2Fenigma-code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxtermax%2Fenigma-code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxtermax%2Fenigma-code/lists"}