pindo 4.7.4 → 4.7.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df037923380f2b620207356880503d0999f322ff1567b91f851cab7e16a5c3d5
4
- data.tar.gz: cfe5b3f9a2968750ed4e78bf0d3127a74bbd20c53a703ae74606394fc0433ab2
3
+ metadata.gz: e8159df0872fa738e51e47c58871fd774599288933ad5b0abb06a1f75d034576
4
+ data.tar.gz: 7092870505178a36f55cc54d5eaa8248314a0f5c0af5188f446dab6e42bb65d0
5
5
  SHA512:
6
- metadata.gz: 4f05b640b14b6f4d7de61e8b359b0350a15b5b48dd63f39ef71e6f8287d62f8350eaac767b5935241af9b8df8d9b2482329b33f31cca4b9911c96114b9f27528
7
- data.tar.gz: d2fe50e1eb3cd860248c05e746d307e9a8ca554225f9134788fa7ab3aed3b4f2470a7610bf3048c5f82ff5e2a4930d046cb6ca4888f1b34fcccaf5fcd8b3c0f6
6
+ metadata.gz: bb1cf7c60caf44e8d92ee0d0cab2118c63fd842c4d0a27a3d4e0a0b33ac03d01a3a4b59b29c7589f30476f957dcd5011c4b0753bb155aa1efe2762fa19730ee3
7
+ data.tar.gz: b734c08d987650edd74d00b63a1c7bd9eec5dd7ba5ba947691f5a82a539b04e09fb3d96d76d5fde205f6fbca1bab6ec23137afc5503ad0cd42a9d8edc6b0a8d7
@@ -1,7 +1,7 @@
1
1
  require 'openssl'
2
2
 
3
3
  module Pindo
4
-
4
+
5
5
 
6
6
  module AESHelper
7
7
 
@@ -17,7 +17,7 @@ module Pindo
17
17
 
18
18
  unless password
19
19
  password = FastlaneCore::Helper.ask_password(message: "请输入证书仓库的加密密码: ", confirm: true)
20
- Security::InternetPassword.add(server_name, "", password)
20
+ Security::InternetPassword.add(server_name, "", password)
21
21
  end
22
22
  return password
23
23
  end
@@ -54,17 +54,9 @@ module Pindo
54
54
  def self.encrypt_specific_file(src_file: nil, password: nil, output_dir: nil)
55
55
  UI.user_error!("No password supplied") if password.to_s.strip.length == 0
56
56
 
57
- data_to_encrypt = File.binread(path)
58
- salt = SecureRandom.random_bytes(8)
59
-
60
- # The :: is important, as there is a name clash
61
- cipher = ::OpenSSL::Cipher.new('AES-256-CBC')
62
- cipher.encrypt
63
- cipher.pkcs5_keyivgen(password, salt, 1, "MD5")
64
- encrypted_data = "Salted__" + salt + cipher.update(data_to_encrypt) + cipher.final
65
-
66
57
  destfile = File.join(output_dir, File.basename(src_file))
67
- File.write(destfile, Base64.encode64(encrypted_data))
58
+ e = Match::Encryption::MatchFileEncryption.new
59
+ e.encrypt(file_path: src_file, password: password, output_path:destfile)
68
60
  return destfile
69
61
  rescue error
70
62
  puts path
@@ -74,32 +66,20 @@ module Pindo
74
66
  # The encryption parameters in this implementations reflect the old behavior which depended on the users' local OpenSSL version
75
67
  # 1.0.x OpenSSL and earlier versions use MD5, 1.1.0c and newer uses SHA256, we try both before giving an error
76
68
  def self.decrypt_specific_file(src_file: nil, password: nil, output_dir: nil, hash_algorithm: "MD5")
77
-
78
- begin
79
- stored_data = Base64.decode64(File.read(src_file))
80
- salt = stored_data[8..15]
81
- data_to_decrypt = stored_data[16..-1]
82
69
 
83
- decipher = ::OpenSSL::Cipher.new('AES-256-CBC')
84
- decipher.decrypt
85
- decipher.pkcs5_keyivgen(password, salt, 1, hash_algorithm)
86
-
87
- decrypted_data = decipher.update(data_to_decrypt) + decipher.final
70
+ begin
88
71
  destfile = File.join(output_dir, File.basename(src_file))
89
- File.binwrite(destfile, decrypted_data)
72
+ e = Match::Encryption::MatchFileEncryption.new
73
+ e.decrypt(file_path: src_file, password: password, output_path:destfile)
90
74
  return destfile
91
75
  rescue => error
92
- fallback_hash_algorithm = "SHA256"
93
- if hash_algorithm != fallback_hash_algorithm
94
- decrypt_specific_file(src_file: src_file, password: password, hash_algorithm: fallback_hash_algorithm)
95
- else
96
76
  Funlog.instance.fancyinfo_error("解析文件失败: #{src_file}")
77
+ raise Informative, error
97
78
  return nil
98
- end
99
79
  end
100
80
  end
101
81
 
102
- end
103
82
 
104
83
 
84
+ end
105
85
  end
data/lib/pindo/version.rb CHANGED
@@ -1,13 +1,13 @@
1
1
  module Pindo
2
2
 
3
- VERSION = "4.7.4"
3
+ VERSION = "4.7.5"
4
4
 
5
5
  class VersionCheck
6
6
 
7
7
  def self.check_pindo_new_version
8
8
 
9
- puts
10
- puts "pindo #{Pindo::VERSION}"
9
+ # puts
10
+ # puts "pindo #{Pindo::VERSION}"
11
11
 
12
12
  begin
13
13
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pindo
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.7.4
4
+ version: 4.7.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - wade
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-04 00:00:00.000000000 Z
11
+ date: 2024-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: claide