Мне даны три функции ниже. Может ли кто-нибудь помочь мне разобраться в этом? Я пытаюсь перенести приложение на C++ с помощью Qt, но я не понимаю этих функций. Пожалуйста, помогите мне!
Спасибо заранее.Я новичок в RUBY и мне нужно понять 3 функции
Функция 1:
def read_key
puts "read pemkey: \"#{@pkey}\"" if @verbose
File.open(@pkey, 'rb') do |io|
@key = OpenSSL::PKey::RSA.new(io)
end
end
Функция 2:
def generate_key
puts "generate pemkey to \"#{@pkey_o}\"" if @verbose
@key = OpenSSL::PKey::RSA.generate(KEY_SIZE)
# save key
File.open(@pkey_o, 'wb') do |file|
file << @key.export()
end
end
Функция 3:
def sign_zip
puts "sign zip" if @verbose
plain = nil
File.open(@zip, 'rb') do |file|
plain = file.read
end
@sig = @key.sign(OpenSSL::Digest::SHA1.new, plain)
end
Что вы не понимаете? – justkt
ну, 1-я функция: \ "# {@ pkey_o} \ what is this ?, а затем, что означает @verbose, читается ли она из командной строки? Тогда что такое rb-переключатель? (Читайте в двоичном?), Тогда выполните | IO |, whats that ?, даже если мы будем использовать pkey без знака @, это будет нормально работать? Тогда atlast OpenSSL :: PKey :: RSA.new (io) я вообще не понял эту строку. Теперь во второй функции: что делает это? «do | file |» - это лоп или что-то в этом роде? Тогда этот файл << @ key.export() будет писать содержимое @key в этот файл, я надеюсь! function 3: этот знак() в key.sign() что делает? @zip - это путь к zip файл, который я думаю. – defiant
https://github.com/Constellation/crxmake/blob/master/lib/crxmake.rb – defiant