{"id":17861228,"url":"https://github.com/jonathanstowe/crypt-sodiumscrypt","last_synced_at":"2025-04-02T20:47:35.729Z","repository":{"id":66980395,"uuid":"229054168","full_name":"jonathanstowe/Crypt-SodiumScrypt","owner":"jonathanstowe","description":"Scrypt password hashing using libsodium","archived":false,"fork":false,"pushed_at":"2022-08-07T08:43:27.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-04-22T17:06:59.532Z","etag":null,"topics":["crypt","hash","libsodium","password","raku","scrypt"],"latest_commit_sha":null,"homepage":"","language":"Raku","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonathanstowe.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":null,"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}},"created_at":"2019-12-19T12:53:18.000Z","updated_at":"2021-11-17T16:03:36.000Z","dependencies_parsed_at":"2023-05-16T10:00:19.964Z","dependency_job_id":null,"html_url":"https://github.com/jonathanstowe/Crypt-SodiumScrypt","commit_stats":null,"previous_names":[],"tags_count":5,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FCrypt-SodiumScrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FCrypt-SodiumScrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FCrypt-SodiumScrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FCrypt-SodiumScrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonathanstowe","download_url":"https://codeload.github.com/jonathanstowe/Crypt-SodiumScrypt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246892796,"owners_count":20850846,"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":["crypt","hash","libsodium","password","raku","scrypt"],"created_at":"2024-10-28T08:43:26.667Z","updated_at":"2025-04-02T20:47:35.558Z","avatar_url":"https://github.com/jonathanstowe.png","language":"Raku","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Crypt::SodiumScrypt\n\nScrypt password hashing using libsodium\n\n![Build Status](https://github.com/jonathanstowe/Crypt-SodiumScrypt/workflows/CI/badge.svg)\n\n## Synopsis\n\n\n    use Crypt::SodiumScrypt;\n\n    my $password =  'somepa55word';\n\n    my $hash     =  scrypt-hash($password);\n\n    if scrypt-verify($hash, $password ) {\n\n        #  password ok\n\n    }\n\n## Description\n\nThis module provides a binding to the [scrypt](https://en.wikipedia.org/wiki/Scrypt) password hashing functions provided by [libsodium](https://libsodium.gitbook.io/doc/).\n\nThe Scrypt algorithm is designed to be prohibitively expensive in terms of time and memory for a brute force attack, so is considered relatively secure. However this means that it might not be suitable for use on resource constrained systems.\n\nThe hash returned by `scrypt-hash` is in the format used in `/etc/shadow` and can be verified by other libraries that understand the Scrypt algorithm ( such as the `libxcrypt` that is used for password hashing on some Linuc distributions.) By default the *interactive* limits for memory and CPU usage are used, which is a reasonable compromise for the time taken for both hashing and verification. If the `:sensitive` switch is supplied to `scrypt-hash` then both hashing and verification take significantly longer (and use more memory,) so this may not suitable for some applications.\n\nThe `scrypt-verify` should be able to verify passwords against Scrypt hashes produced by other libraries (that is the hash has the prefix *$7$*, ) but if you don't have control of the hashing parameters it may take longer than is desirable.\n\n\n## Installation\n\nYou will need to have C\u003clibsodium\u003e installed for this to work, it is commonly packaged for various Linux distributions, so you should be able\nto use the usual package management tools.\n\nAssuming that you have a working installation of Rakudo then you should be able to install this with *zef* :\n\n    zef install Crypt::SodiumScrypt\n\n    # Or from a local clone\n\n    zef install .\n\n## Support\n\nIf you any suggestions/patches feel free to send them via:\n\nhttps://github.com/jonathanstowe/Crypt-SodiumScrypt/issues\n\nI've tested this with libsodium versions from 13 to 23, but if you find it doesn't work please let me know which version you have installed.\n\n## Licence \u0026 Copyright\n\nThis is free software please see the [LICENCE](LICENCE) file in the distribution\nfor details.\n\n© Jonathan Stowe 2019 - 2021\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanstowe%2Fcrypt-sodiumscrypt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathanstowe%2Fcrypt-sodiumscrypt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanstowe%2Fcrypt-sodiumscrypt/lists"}