Skip to content

Commit 8456d5e

Browse files
committed
Make generate more constant time
1 parent 703bee1 commit 8456d5e

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
### Changelog
22

3+
### 6.2.2
4+
5+
- Removed `rjust` from `generate_otp` in favor of more time constant version
6+
37
### 6.2.1
48

59
- Removed old rdoc folder that was triggering a security warning due to an

lib/rotp/otp.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ def generate_otp(input)
3232
(hmac[offset + 1].ord & 0xff) << 16 |
3333
(hmac[offset + 2].ord & 0xff) << 8 |
3434
(hmac[offset + 3].ord & 0xff)
35-
(code % 10**digits).to_s.rjust(digits, '0')
35+
code_str = (10 ** digits + (code % 10 ** digits)).to_s
36+
code_str[-digits..-1]
3637
end
3738

3839
private

lib/rotp/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module ROTP
2-
VERSION = '6.2.1'.freeze
2+
VERSION = '6.2.2'.freeze
33
end

0 commit comments

Comments
 (0)