{"id":17861122,"url":"https://github.com/jonathanstowe/crypt-libscrypt","last_synced_at":"2025-04-02T20:47:12.068Z","repository":{"id":66980392,"uuid":"340001059","full_name":"jonathanstowe/Crypt-LibScrypt","owner":"jonathanstowe","description":"Scrypt password hashing using libscrypt","archived":false,"fork":false,"pushed_at":"2024-03-03T19:47:57.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-03-03T20:23:08.653Z","etag":null,"topics":["crypt","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}},"created_at":"2021-02-18T09:38:39.000Z","updated_at":"2024-03-03T20:23:10.883Z","dependencies_parsed_at":null,"dependency_job_id":"f526074a-1f6c-4be8-8dd5-d42cfee0f3f5","html_url":"https://github.com/jonathanstowe/Crypt-LibScrypt","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FCrypt-LibScrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FCrypt-LibScrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FCrypt-LibScrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FCrypt-LibScrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonathanstowe","download_url":"https://codeload.github.com/jonathanstowe/Crypt-LibScrypt/tar.gz/refs/heads/main","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","password","raku","scrypt"],"created_at":"2024-10-28T08:42:59.258Z","updated_at":"2025-04-02T20:47:11.920Z","avatar_url":"https://github.com/jonathanstowe.png","language":"Raku","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Crypt::LibScrypt\n\nScrypt password hashing using libscrypt\n\n[![CI](https://github.com/jonathanstowe/Crypt-LibScrypt/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/jonathanstowe/Crypt-LibScrypt/actions/workflows/ci.yml)\n\n## Synopsis\n\n\n    use Crypt::LibScrypt;\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 [libscrypt](https://github.com/technion/libscrypt).\n\nIt is an alternative to [Crypt::SodiumScrypt](https://github.com/jonathanstowe/Crypt-SodiumScrypt) where one or other of the native libraries is already available or more easily installed.\nHowever the two libraries may not be completely interchangeable as the hash may have a different salt prefix. You also can't use both in the same program without some care as both modules\nexport `scrypt-hash` and `scrypt-verify`.\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. The *cost* parameters for `scrypt-hash` can be tuned - the defaults are a reasonable compromise though.\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 Linux distributions.) \n\n## Installation\n\nYou will need to have C\u003clibscrypt\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. It can also be built from source from https://github.com/technion/libscrypt\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::LibScrypt\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-LibScrypt/issues\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 2021-2024\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanstowe%2Fcrypt-libscrypt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathanstowe%2Fcrypt-libscrypt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanstowe%2Fcrypt-libscrypt/lists"}