no-style-please2-plugins 0.4.3 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. data/gem.gemspec +1 -1
  3. data/lib/enc.rb +22 -10
  4. data/lib/version/version.rb +1 -1
  5. data/test.rb +53 -17
  6. metadata +2 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e9f4f4a41d85064307365636096162753cb141b2832a40825c7aa90f38ee399c
4
- data.tar.gz: 87a751e6931d4a02d7c995eb026f8b8d2a9f81a532a842a7ddbfa1ca4ca4a73a
3
+ metadata.gz: 6ce217454acd101d7d2885044d9675b60e5bc7404a454a622d2b1210b22be12a
4
+ data.tar.gz: babeb067c289bdd08b650639d50973ea111b92b202fd979a0e2b79d5470dba02
5
5
  SHA512:
6
- metadata.gz: d373db5377ec0dc015cab2fb94cfd14d2695e970089a062bc73741f9e2119cb40e55b465071b68713fc50047b471ba0857509822ed15e4f3337bb60f35190b38
7
- data.tar.gz: 944d77a182c0644d635d89e0e8ab083a4a3a72b54b80e32aa711ea08fe7f805a09a6ff4bf14e74c0de8753f783cef7cf0dd123ae28b4526a98773b76195951a3
6
+ metadata.gz: 8ea12bce7eee576a03595b149a526f8a3286677099ad8778d00e81ed9a71e68e83128d1fe44449114ead0dcc64fff13625b932d78b793d959514f4d1f437ef23
7
+ data.tar.gz: a5e75cc87025cdc350bf6b3184271bd55636d25cd0d3e2c6a7c418b3fbcff39408696600acd7cb2095a4a6c5b6554e9a56d6802f3bf4d3665f7dfc9ae5842cfa
data/gem.gemspec CHANGED
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
34
34
 
35
35
  spec.add_dependency "jekyll", "~>4.0"
36
36
  spec.add_dependency "ltec", "~> 0.1.2"
37
- spec.add_dependency "salsa20", "~> 0.1.3"
37
+ # spec.add_dependency "salsa20", "~> 0.1.3"
38
38
  spec.add_dependency "digest"
39
39
  # Uncomment to register a new dependency of your gem
40
40
  # spec.add_dependency "example-gem", "~> 1.0"
data/lib/enc.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'openssl'
2
2
  require 'base64'
3
- require 'salsa20'
4
3
  require 'digest'
5
4
  require 'ltec'
6
5
  require "jekyll"
@@ -58,6 +57,25 @@ module Jekyll
58
57
  end
59
58
  end
60
59
  module EncFilter
60
+
61
+ def genKey(password)
62
+ salt = 'this is a salt string 20221019'
63
+ iter = 12345
64
+ key_len = 32
65
+ key = OpenSSL::KDF.pbkdf2_hmac(password, salt: salt, iterations: iter,
66
+ length: key_len, hash: "sha256")
67
+ return key
68
+ end
69
+
70
+ def encrypt(msg,password)
71
+ cipher = OpenSSL::Cipher::AES.new(256, :GCM).encrypt
72
+ iv = cipher.random_iv
73
+ cipher.iv = iv
74
+ cipher.key = genKey password
75
+ encrypted = cipher.update(msg) + cipher.final
76
+ return 'E1.' + Base64.strict_encode64(iv + encrypted + cipher.auth_tag)
77
+
78
+ end
61
79
  def get_encrypt_id(content,page)
62
80
  key = EncFilterTool.getKey(content,page)
63
81
  if key != nil && key.length > 0
@@ -68,15 +86,9 @@ module Jekyll
68
86
  end
69
87
 
70
88
  def encrypt_content(content,page,prefix)
71
- keyOri = EncFilterTool.getKey(content,page)
72
- keyOri = prefix + keyOri + prefix
73
- key = Digest::MD5.hexdigest(keyOri).downcase()
74
- iv = Digest::MD5.hexdigest(content).downcase()
75
- ivHex = iv[0...16]
76
- iv = ivHex.scan(/../).map { |x| x.hex.chr }.join
77
- encryptor = Salsa20.new(key, iv)
78
- encrypted_text = encryptor.encrypt(content)
79
- return ivHex + ":" + Base64.strict_encode64(encrypted_text)
89
+ psw = EncFilterTool.getKey(content,page)
90
+ psw = prefix + psw + prefix
91
+ return encrypt content,psw
80
92
  end
81
93
 
82
94
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NoStylePlease2
4
- VERSION = "0.4.3"
4
+ VERSION = "0.5.0"
5
5
  end
data/test.rb CHANGED
@@ -1,18 +1,54 @@
1
1
  #!/usr/bin/env ruby
2
- # require "ltec"
3
- # require "nostyleplease2plugins"
4
-
5
- # Jekyll::test
6
-
7
- a = '12-3 a 3 3'
8
- b = a.split('x')
9
- z = nil;
10
- if z
11
- puts 333
12
- else
13
- puts 44
14
- end
15
- puts b
16
- puts b[0]
17
- z = 333
18
- puts "<img src='#{z}' style='width:#{z}px'>"
2
+
3
+ require 'openssl'
4
+ require 'base64'
5
+ def genKey(password)
6
+ salt = 'this is a salt string 20221019'
7
+ iter = 12345
8
+ key_len = 32
9
+ key = OpenSSL::KDF.pbkdf2_hmac(password, salt: salt, iterations: iter,
10
+ length: key_len, hash: "sha256")
11
+ return key
12
+ end
13
+
14
+ def encrypt(msg,password)
15
+
16
+ cipher = OpenSSL::Cipher::AES.new(256, :GCM).encrypt
17
+ iv = cipher.random_iv
18
+ cipher.iv = iv
19
+ cipher.key = genKey password
20
+ encrypted = cipher.update(msg) + cipher.final
21
+ return 'E1.' + Base64.strict_encode64(iv + encrypted + cipher.auth_tag)
22
+
23
+ end
24
+
25
+
26
+ def decrypt(enstring,password)
27
+ b64 = enstring[3..-1]
28
+ data = Base64.strict_decode64 b64
29
+
30
+ len = data.bytesize
31
+ iv = data[0...12]
32
+ auth_tag = data[0...16] #data[len-16..-1]
33
+ encdata = data[12...len-16]
34
+
35
+
36
+ cipher = OpenSSL::Cipher::AES.new(256, :GCM).decrypt
37
+ cipher.iv = iv
38
+ cipher.key = genKey password
39
+ # cipher.auth_tag = '1234567890123456'
40
+
41
+ result = cipher.update(encdata)
42
+ return result
43
+
44
+ end
45
+
46
+
47
+ msg = '我的 12a23007'
48
+ z = encrypt msg,'123'
49
+ puts z
50
+
51
+ puts z[3..-1]
52
+
53
+ m = decrypt z ,'123'
54
+ puts m
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: no-style-please2-plugins
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - vitock
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-06-23 00:00:00.000000000 Z
11
+ date: 2022-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.1.2
41
- - !ruby/object:Gem::Dependency
42
- name: salsa20
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 0.1.3
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 0.1.3
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: digest
57
43
  requirement: !ruby/object:Gem::Requirement