Skip to content

Commit 62787f9

Browse files
committed
Add generate-key cli command
1 parent 2bbdc74 commit 62787f9

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
## [Unreleased]
1111

12+
### Added
13+
14+
- CLI: `diffcrypt generate-key` command to generate a new key for a cipher
15+
1216
### Fixed
1317

1418
- Thor deprecation error no longer shows on CLI failure

lib/diffcrypt/cli.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ def encrypt(path)
2121
puts encryptor.encrypt(contents)
2222
end
2323

24+
desc 'generate-key', 'Generate a 32 bit key'
25+
method_option :cipher, default: Encryptor::CIPHER
26+
def generate_key
27+
say Encryptor.generate_key(options[:cipher])
28+
end
29+
2430
desc 'version', 'Show client version'
2531
def version
2632
say Diffcrypt::VERSION

lib/diffcrypt/encryptor.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ module Diffcrypt
1414
class Encryptor
1515
CIPHER = 'aes-128-gcm'
1616

17-
def self.generate_key
18-
SecureRandom.hex(ActiveSupport::MessageEncryptor.key_len(CIPHER))
17+
def self.generate_key(cipher = CIPHER)
18+
SecureRandom.hex(ActiveSupport::MessageEncryptor.key_len(cipher))
1919
end
2020

2121
def initialize(key)

0 commit comments

Comments
 (0)