开源 > dukpt
Ruby

dukpt

实现一个解密器,用于解密使用派生唯一密钥每交易(DUKPT)方案的设备产生的密文

安装

将此行添加到你的应用程序的 Gemfile 中

gem 'dukpt'

然后执行

$ bundle

或者你自己安装它,像这样:

$ gem install dukpt

用法

# Instantiate a decrypter with your base derivation key (BDK)
decrypter = DUKPT::Decrypter.new("0123456789ABCDEFFEDCBA9876543210")

# You can specify whether you want to use "ecb" cipher mode if needed. The default is "cbc".
decrypter = DUKPT::Decrypter.new("0123456789ABCDEFFEDCBA9876543210", "ecb")
  
# Pass the ciphertext and the current Key Serial Number (KSN), as hex encoded strings, to the decryptor to get back the plaintext
ksn = "FFFF9876543210E00008"
ciphertext = "C25C1D1197D31CAA87285D59A892047426D9182EC11353C051ADD6D0F072A6CB3436560B3071FC1FD11D9F7E74886742D9BEE0CFD1EA1064C213BB55278B2F12"
  
plaintext = decrypter.decrypt(ciphertext, ksn) # => "%B5452300551227189^HOGAN/PAUL      ^08043210000000725000000?\x00\x00\x00\x00"

贡献

  1. Fork 它
  2. 创建你的功能分支 (git checkout -b my-new-feature)
  3. 提交你的更改 (git commit -am '添加了一些功能')
  4. 推送分支 (git push origin my-new-feature)
  5. 创建新的 Pull Request

许可证

版权所有 (c) 2012 Shopify。根据 MIT 许可证 发布。