tripcode 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -2
- data/lib/tripcode.rb +21 -5
- data/lib/tripcode/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a3781a4b5bf0f3fcf18ca9845c7eecc687830b86
|
4
|
+
data.tar.gz: b1cb16cea9a16536d6b6d2091eb33471bfdd1c2a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7cacedf4cd8c8a45289d8151b67d3afe2a9e6c14aceeffb5f85d794f4071716eecaf6861f6e81a281d84c83f5a74898f6ac4bf631116d4e7dc7a6f7d3d066146
|
7
|
+
data.tar.gz: 8f0552d4830b51f267de924a842a21a93e9f5061dc3f58ede92007fa4d46245ba00a0ac16a3a3ca4d5b24a929b276a1cd4089c72af5fbcdbbabc7131559395c1
|
data/README.md
CHANGED
data/lib/tripcode.rb
CHANGED
@@ -1,13 +1,29 @@
|
|
1
1
|
require "tripcode/version"
|
2
2
|
|
3
3
|
module Tripcode
|
4
|
+
@salt_table = ('.' * 47).split('') + ['/'] + ('0'..'9').to_a
|
5
|
+
@salt_table += ('A'..'G').to_a + ('A'..'Z').to_a + ('a'..'f').to_a
|
6
|
+
@salt_table += ('a'..'z').to_a + ('.' * 133).split('')
|
7
|
+
|
8
|
+
def self.sjis(str)
|
9
|
+
str.encode("shift_jis", invalid: :replace, undef: :replace, replace: '')
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.escape(str)
|
13
|
+
str.gsub(/[&<">]/, '&'=>'&','<'=>'<','"'=>'"','>'=>'>')
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.salt(password)
|
17
|
+
salt = @salt_table["#{password}H.."[1].ord % 256]
|
18
|
+
salt += @salt_table["#{password}H.."[2].ord % 256]
|
19
|
+
return salt
|
20
|
+
end
|
21
|
+
|
4
22
|
def self.hash(password)
|
5
23
|
return "" if password.nil? || password.empty?
|
6
|
-
password = password
|
7
|
-
password =
|
8
|
-
salt = (password
|
9
|
-
salt.gsub!(/[^\.-z]/, '.')
|
10
|
-
salt.tr!(':;<=>?@[\]^_`','ABCDEFGabcdef')
|
24
|
+
password = Tripcode.sjis(password)
|
25
|
+
password = Tripcode.escape(password)
|
26
|
+
salt = Tripcode.salt(password)
|
11
27
|
return password.crypt(salt)[-10..-1].strip
|
12
28
|
end
|
13
29
|
end
|
data/lib/tripcode/version.rb
CHANGED