no-style-please2-plugins 0.4.3 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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