PHPackages                             dvelopment/rksv - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. dvelopment/rksv

ActiveLibrary[Security](/categories/security)

dvelopment/rksv
===============

tool for RKSV encryption required by Austrian law for cash registers

1.0.0(9y ago)014PHP

Since Feb 14Pushed 9y ago1 watchersCompare

[ Source](https://github.com/dVelopment/rksv-encryption)[ Packagist](https://packagist.org/packages/dvelopment/rksv)[ RSS](/packages/dvelopment-rksv/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (2)Versions (1)Used By (0)

[![CircleCI](https://camo.githubusercontent.com/b59ecb7df80d7d3320b226ee068e7f7d5d106c35f8d4e78ce9e20334905ee82a/68747470733a2f2f636972636c6563692e636f6d2f67682f6456656c6f706d656e742f726b73762d656e6372797074696f6e2e7376673f7374796c653d737667)](https://circleci.com/gh/dVelopment/rksv-encryption)

RKSV encryption tool
====================

[](#rksv-encryption-tool)

This tool is meant be used in systems that implement the Austrian "Registrierkassensicherheitsverordnung" (yes, that's one word ...).

This package has been developed on request by [Pocketbill](https://www.pocketbill.at/).

API
---

[](#api)

### `createAesKey`

[](#createaeskey)

Creates a base64 encoded, random key with 256bits length. Ready to be used as input for the encryption methods and displayed to your users for registering it in FinanzOnline.

### `encryptTotalInEur`

[](#encrypttotalineur)

Just a convenience method which converts your EUR amount to cents before passing it to `encryptTotalInCents`. See below for the input parameters

### `encryptTotalInCents`

[](#encrypttotalincents)

The actual encryption method. It will encrypt your total value, according to the regulations.

It takes in the following parameters:

- `totalInCents` *(int)* the total value you want to encrypt
- `base64AesKey` *(string)* base64 encoded AES key to use
- `receiptNumber` *(string)* the receipt number of the document you're about to sign
- `registerId` *(string)* the ID of the cash register your representing
- `receiptType` *(string)* the type of document you're about to sign. Possible values are:
    - `Signer::TYPE_STANDARD` just a regular receipt
    - `Signer::TYPE_CANCEL` the receipt for a cancellation of another receipt
    - `Signer::TYPE_TRAINING` a training document your users might want to create for training/testing purposes
    - `Signer::TYPE_START` a start document which is created when you start using a (new) cash register
    - `Signer::TYPE_ZERO` a "zero document" which is created every month/year or when the signature service became available again, after having been unavailable for at least 1 other document.

Usage examples
--------------

[](#usage-examples)

See `test/RKSV/Test/SignerTest.php`.

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3422d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/db52d7a09896961e220d80bf5aab2ece9a1c98822259fa1466c98d3a6647d141?d=identicon)[dVelopment](/maintainers/dVelopment)

---

Top Contributors

[![dVelopment](https://avatars.githubusercontent.com/u/591304?v=4)](https://github.com/dVelopment "dVelopment (11 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/dvelopment-rksv/health.svg)

```
[![Health](https://phpackages.com/badges/dvelopment-rksv/health.svg)](https://phpackages.com/packages/dvelopment-rksv)
```

###  Alternatives

[mews/purifier

Laravel 5/6/7/8/9/10 HtmlPurifier Package

2.0k18.0M137](/packages/mews-purifier)[team-reflex/discord-php

An unofficial API to interact with the voice and text service Discord.

1.1k406.5k25](/packages/team-reflex-discord-php)[paragonie/ecc

PHP Elliptic Curve Cryptography library

24772.0k35](/packages/paragonie-ecc)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
