{"id":32215463,"url":"https://github.com/borekl/crypt-cipher-vigenere","last_synced_at":"2025-10-22T07:46:57.999Z","repository":{"id":56841172,"uuid":"452294996","full_name":"borekl/crypt-cipher-vigenere","owner":"borekl","description":"Perl implementation of the Vigenère cipher","archived":false,"fork":false,"pushed_at":"2022-01-28T13:35:04.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-22T07:46:57.833Z","etag":null,"topics":["cipher","perl","perl5","vigenere"],"latest_commit_sha":null,"homepage":"","language":"Perl","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/borekl.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}},"created_at":"2022-01-26T13:54:51.000Z","updated_at":"2022-01-26T15:26:07.000Z","dependencies_parsed_at":"2022-08-29T12:50:46.966Z","dependency_job_id":null,"html_url":"https://github.com/borekl/crypt-cipher-vigenere","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/borekl/crypt-cipher-vigenere","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borekl%2Fcrypt-cipher-vigenere","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borekl%2Fcrypt-cipher-vigenere/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borekl%2Fcrypt-cipher-vigenere/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borekl%2Fcrypt-cipher-vigenere/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/borekl","download_url":"https://codeload.github.com/borekl/crypt-cipher-vigenere/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borekl%2Fcrypt-cipher-vigenere/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280402182,"owners_count":26324587,"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","status":"online","status_checked_at":"2025-10-22T02:00:06.515Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cipher","perl","perl5","vigenere"],"created_at":"2025-10-22T07:46:56.980Z","updated_at":"2025-10-22T07:46:57.974Z","avatar_url":"https://github.com/borekl.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SYNOPSIS\n\n```perl\nuse Crypt::Cipher::Vigenere;\n\nmy $vigenere = Crypt::Cipher::Vigenere-\u003enew( $key );\n\n# encode plaintext\nmy $cipher_text = $vigenere-\u003eencode( $plain_text );\n\n# decode ciphertext\nmy $plain_text = $vigenere-\u003edecode( $cipher_rtext );\n\n# reset internal position in the key\n$vigenere-\u003ereset;\n```\n\n# DESCRIPTION\n\nPerl implementation of the Vigenere cipher. Cipher key is specified as argument\nto the constructor and it should only contain letters A to Z (case is ignored).\nUsing anything but ASCII letters will result in undefined behaviour.\n\nPlaintext can be any sequence of characters, but anything but letters A to Z\nis passed through unenciphered. Letters preserve their case through the\nenciphering/deciphering.\n\nThe instance keeps track of the last position in the key, so subsequent call\nproperly continue in the enciphering process. If need to reset the position,\nuse the 'reset' method. Please note, that this key position is shared for both\nenciphering and deciphering, so when you want to use the same instance for\ndeciphering text you just enciphered, you must reset it.\n\n# METHODS\n\n## `new`\n\nReturns new instance with key specified as the only argument. The key is\na character string where only \\[A-Za-z\\] characters are allowed. Case has no\nbearing on the enciphering/deciphering process.\n\n## `encode`\n\nTakes plaintext as argument and returns ciphertext. Subsequent calls to this\nmethod do not reset the position in the key, but continue where the last call\nleft off.\n\n## `decode`\n\nTakes ciphertext as argument and returns plaintext. Subsequent calls to this\nmethod do not reset the position in the key, but continue where the last call\nleft off.\n\n## `reset`\n\nReset the internal position to the start of the key.\n\n# AUTHOR\n\nBorek Lupomesky \u003cborek@lupomesky.cz\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fborekl%2Fcrypt-cipher-vigenere","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fborekl%2Fcrypt-cipher-vigenere","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fborekl%2Fcrypt-cipher-vigenere/lists"}