{"id":16834883,"url":"https://github.com/dchest/scrypt","last_synced_at":"2025-06-19T11:32:54.502Z","repository":{"id":3120291,"uuid":"4147517","full_name":"dchest/scrypt","owner":"dchest","description":"Go package scrypt implements the scrypt key derivation function as defined in Colin Percival's paper \"Stronger Key Derivation via Sequential     Memory-Hard Functions\". ","archived":false,"fork":false,"pushed_at":"2013-01-17T16:45:26.000Z","size":140,"stargazers_count":33,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-11T04:35:29.717Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://code.google.com/p/go/source/browse?repo=crypto","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"CatmanIX/UnSupportedAppstore.bundle","license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dchest.png","metadata":{"files":{"readme":"README","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}},"created_at":"2012-04-26T12:45:48.000Z","updated_at":"2024-08-21T17:37:53.000Z","dependencies_parsed_at":"2022-07-09T14:17:42.176Z","dependency_job_id":null,"html_url":"https://github.com/dchest/scrypt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dchest/scrypt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dchest%2Fscrypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dchest%2Fscrypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dchest%2Fscrypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dchest%2Fscrypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dchest","download_url":"https://codeload.github.com/dchest/scrypt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dchest%2Fscrypt/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260742068,"owners_count":23055698,"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-10-13T12:08:15.274Z","updated_at":"2025-06-19T11:32:49.494Z","avatar_url":"https://github.com/dchest.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"!!! NOTE !!!\n\nOfficial go.crypto repository now includes scrypt implementation.\n(http://code.google.com/p/go/source/detail?r=ad8a96e038bb\u0026repo=crypto)\nPlease use it instead of this one, as it will be supported there.\n\nLink: http://code.google.com/p/go/source/browse?repo=crypto\n\nIt is compatible with this implementation, so to switch to it,\njust change the import path to \"code.google.com/p/go.crypto/scrypt\".\n\n!!!\n\nGo implementation of scrypt key derivation function.\n(http://www.tarsnap.com/scrypt.html)\n\nINSTALLATION\n\n    $ go get github.com/dchest/scrypt\n\nPACKAGE\n    import \"github.com/dchest/scrypt\"\n\n    Package scrypt implements the scrypt key derivation function as defined\n    in Colin Percival's paper \"Stronger Key Derivation via Sequential\n    Memory-Hard Functions\".\n\nFUNCTIONS\n\nfunc Key(password, salt []byte, N, r, p, keyLen int) ([]byte, error)\n\n    Key derives a key from the password, salt and cost parameters, returning\n    a byte slice of length keyLen that can be used as cryptographic key.\n\n    N is a CPU/memory cost parameter, must be a power of two greater than 1.\n    r and p must satisfy r * p \u003c 2³⁰. If the parameters do not satisfy the\n    limits, the function returns a nil byte slice and an error.\n\n    For example, you can get a derived key for e.g. AES-256 (which needs a\n    32-byte key) by doing:\n\n        dk := scrypt.Key([]byte(\"some password\"), salt, 16384, 8, 1, 32)\n\n    The recommended parameters for interactive logins as of 2009 are N=16384,\n    r=8, p=1. They should be increased as memory latency and CPU parallelism\n    increases. Remember to get a good random salt.\n\nKEYWORDS\n   \n    go, golang, scrypt, kdf\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdchest%2Fscrypt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdchest%2Fscrypt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdchest%2Fscrypt/lists"}