{"ref":"artifact:hhelibeb-blowfish-abap","page":"/artifacts/hhelibeb-blowfish-abap","json":"/artifacts/hhelibeb-blowfish-abap.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"hhelibeb-blowfish-abap","name":"hhelibeb/blowfish-abap","artifact_type":"package","ecosystem":"abap","flavors":[{"key":"standard-abap","source":{"url":"https://github.com/hhelibeb/blowfish-abap","title":"hhelibeb/blowfish-abap — README","checked":"2026-10-19","quote":"ABAP Version: 750 or higher"}}],"domain":"security-and-compliance","origin_ring":"independent","description":{"one_line":"A Blowfish cipher implemented directly in ABAP after Bruce Schneier's definition, encrypting and decrypting strings in ECB and CBC mode through one class, on ABAP 750 or higher.","short":"Blowfish cipher in ABAP, ECB and CBC modes","what_it_solves":"blowfish-abap implements the Blowfish cipher in ABAP, as defined by Bruce Schneier and written with reference to his C# source. The class `zcl_blowfish` takes a key on construction and exposes `encrypt_cbc` and `decrypt_cbc` over a string; ECB and CBC are the modes it covers. It needs ABAP 750 or higher, and support for ABAP 740 is still unticked on the maintainer's to-do list."},"links":{"repo":"https://github.com/hhelibeb/blowfish-abap"},"identity":{"license":"Apache-2.0"},"source_available":true,"provides":[{"capability":"capability:encryption","what_it_does":"Implements the Blowfish cipher in ABAP with ECB and CBC modes, through a class that encrypts and decrypts against a supplied key.","sources":[{"url":"https://github.com/hhelibeb/blowfish-abap","title":"hhelibeb/blowfish-abap — README","checked":"2026-10-19","quote":"Blowfish encryption (ECB and CBC MODE) as defined by Bruce Schneier here"}]}],"maintainers":["actor:hhelibeb"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:hhelibeb"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"poor","evidence":"pushed 2019-11, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"poor","evidence":"README 1 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":9,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":9,"forks":2,"open_issues":1,"archived":false,"pushed_at":"2019-11-14","license_spdx":"Apache-2.0","org_owned":false,"default_branch":"master","created_at":"2019-10-17T08:36:23Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":729,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2019-10-17","last_commit":"2019-11-14","commits":14,"contributors":1,"readme_path":"README.md","readme_sha":"fdeee4a738f0b52d1d764ac28d8526b825177ab0","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:hhelibeb","name":"He H","json":"/actors/hhelibeb.json"}],"contributors":[{"ref":"actor:hhelibeb","name":"He H","json":"/actors/hhelibeb.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}