{"id":27973013,"url":"https://github.com/yaronkoresh/shual","last_synced_at":"2025-05-07T23:22:05.494Z","repository":{"id":203627136,"uuid":"710061706","full_name":"YaronKoresh/shual","owner":"YaronKoresh","description":"Shual is a fibonacci based cryptography toolset.","archived":false,"fork":false,"pushed_at":"2025-04-24T14:39:35.000Z","size":70,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-24T15:36:51.572Z","etag":null,"topics":["cryptography","encryption-decryption","hash","javascript","padding"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YaronKoresh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-10-26T00:05:51.000Z","updated_at":"2025-04-24T14:39:32.000Z","dependencies_parsed_at":"2023-11-06T02:38:31.755Z","dependency_job_id":"e4cbb39d-0c9e-4b65-ae78-0145f40ef5fb","html_url":"https://github.com/YaronKoresh/shual","commit_stats":null,"previous_names":["yaronkoresh/shual"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YaronKoresh%2Fshual","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YaronKoresh%2Fshual/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YaronKoresh%2Fshual/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YaronKoresh%2Fshual/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YaronKoresh","download_url":"https://codeload.github.com/YaronKoresh/shual/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252969049,"owners_count":21833402,"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":["cryptography","encryption-decryption","hash","javascript","padding"],"created_at":"2025-05-07T23:22:04.915Z","updated_at":"2025-05-07T23:22:05.483Z","avatar_url":"https://github.com/YaronKoresh.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Shual is a fibonacci based cryptography toolset.\r\n\r\n- - -\r\n\r\n# About the project:\r\n\r\n* The project was created by Yaron Koresh \u003caharonkoresh1@gmail.com\u003e\r\n\r\n* This project supports ESM/CJS \u0026 the browser.\r\n\r\n* This project is licensed under the MIT open-source license.\r\n\r\n- - -\r\n\r\n# What it does?\r\n\r\n* Hashes passwords into a sequence of capital english characters.\r\n\r\n* Pad \u0026 encrypt your data with a password \u0026 a salt, while choosing the complexity factor to fit your needs.\r\n\r\n* Supports passwords/salts with emojis \u0026 other high level characters.\r\n\r\n- - -\r\n\r\n# Basic installation:\r\n\r\n* To install the npm package, run: `npm i shual`\r\n\r\n* To use it inside the browser, add the following tag into the HTML head tag: `\u003cscript src=\"https://unpkg.com/shual@latest/dist/bundle.min.js\"\u003e\u003c/script\u003e`.\r\n\r\n- - -\r\n\r\n# Basic usage:\r\n\r\n* When using node \u0026 npm, import/require a module simply by the standard syntax. The npm package supports both of them.\r\n\r\n* When using the browser, exports of this project are available under a global object, called `$shual`.\r\n\r\n- - -\r\n\r\n# Do you need help?\r\n\r\n* Before asking general support questions, please make sure you are using the [latest version](https://github.com/YaronKoresh/shual/releases/latest).\r\n\r\n* When looking for support, please first search for your question in [open or closed issues](https://github.com/YaronKoresh/shual/issues?q=is%3Aissue).\r\n\r\n* GitHub issues are a good way for tracking enhancements and bugs, but also for get some help.\r\n\r\n* Feel free to open new issues, using one of the available templates, or create an issue from scratch.\r\n\r\n- - -\r\n\r\n# What exports are available?\r\n\r\n#### Using \"ShualHash\":\r\n\r\n* Purpose: Calculate a Shual hash.\r\n\r\n* Parameters:\r\n\r\n* * Password: The string to be hashed (required).\r\n\r\n* * Salt: The string to be used to create different hashes for the same passwords (required).\r\n\r\n* * Strength: The strength factor for the Shual hashing algorithm (default = 1).\r\n\r\n* * Length: The length of the new Shual hash (default = 32).\r\n\r\n* Examples:\r\n\r\n* * `ShualHash(\"abcd\",\"efg\", 1, 13)` , which returns: \"SHUAL/HASH/PKKMZCQTZWLYG/Rsl5\".\r\n\r\n* * `ShualHash(\"abcd\",\"efg\", 1, 40)` , which returns: \"SHUAL/HASH/JZKQUDCEBTJHFAUIQTBZFHMDQEBZQBLCFJAISXOL/Rsl5\".\r\n\r\n- - -\r\n\r\n#### Using \"Pad\":\r\n\r\n* Purpose: Pad an input before encryption.\r\n\r\n* Parameters:\r\n\r\n* * Message: The string to be padded (required).\r\n\r\n* * Length: The minimal length for the new string (default = 16).\r\n\r\n* Examples:\r\n\r\n* * `Pad(\"abcd\",7)` , which returns: \"LUOabcd\".\r\n\r\n* * `Pad(\"abcd\",9)` , which returns: \"NMZBLabcd\".\r\n\r\n- - -\r\n\r\n#### Using \"Unpad\":\r\n\r\n* Purpose: Unpad an output after decryption.\r\n\r\n* Parameters:\r\n\r\n* * Message: The string to be unpadded (required).\r\n\r\n* Examples:\r\n\r\n* * `Unpad(\"NMZBLabcd\")` , which returns: \"abcd\".\r\n\r\n- - -\r\n\r\n#### Using \"ShualEncrypt\":\r\n\r\n* Purpose: Message encryption.\r\n\r\n* Parameters:\r\n\r\n* * Key: The password for the encryption (required).\r\n\r\n* * Salt: The salt for the encryption (required).\r\n\r\n* * Message: The input string (required).\r\n\r\n* * Power: The strength/complexity factor of the process (default = 1).\r\n\r\n* Examples:\r\n\r\n* * `ShualEncrypt(\"Pa$$word123*\",\"a random text\", \"my message is... Hello World!\")` , which returns: \"SHUAL/CRYPT/9C2E9DE40F71575A3D10D7B9F5F635CD18633E22AF94E37B86CF589470/2bPtyE4LFaxg9wo4hA\".\r\n\r\n* * `ShualEncrypt(\"Pa$$word123*\",\"a random text\", \"my message is... Hello World?\")` , which returns: \"SHUAL/CRYPT/81345C197E897BD8B96509DDA2A1393BFD45FAC7044358D8C820F60BBE/2bPtyE4LFaxg9wo4hA\".\r\n\r\n- - -\r\n\r\n#### Using \"ShualDecrypt\":\r\n\r\n* Purpose: Message decryption.\r\n\r\n* Parameters:\r\n\r\n* * Key: The password for the decryption (required).\r\n\r\n* * Ciphertext: The protected string (required).\r\n\r\n* * Power: The strength/complexity factor of the process (default = 1).\r\n\r\n* Examples:\r\n\r\n* * `ShualDecrypt(\"Pa$$word123*\",\"SHUAL/CRYPT/9C2E9DE40F71575A3D10D7B9F5F635CD18633E22AF94E37B86CF589470/2bPtyE4LFaxg9wo4hA\")` , which returns: \"my message is... Hello World!\".","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaronkoresh%2Fshual","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyaronkoresh%2Fshual","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaronkoresh%2Fshual/lists"}