rubymine ctrl+shift+f
就是这个,我想要的,谢谢。
#1 楼 @malayke https://ruby-china.org/topics/30146 就是这篇,libgit2 的 API https://libgit2.github.com/libgit2/#HEAD rugged 的 github 托管地址: https://github.com/libgit2/rugged/tree/master/lib/rugged
我就不明白他们怎么联系上的
@jasi 原来不会走 postfix 了,虽然不确切的知道为什么,但是给我排查问题带来很大的帮助,谢谢 。 目前找到的问题是跟网络有关的,好多外网地址 ping 不通。
原来如此,谢谢各位
恩,那三个圈的理论很赞,学习区是最有收获的
谢谢大家。确实是需要了解功能后手动删除,然后测试一下。
以前用的是搜这个 action 函数名的方法,但是要删的地方实在太多了,函数个数也比较多,有没有什么好的方法呢?
require 'openssl'
class Test3
def aes_encrypt(key, encrypted_string)
aes = OpenSSL::Cipher::Cipher.new("AES-256-CBC")
aes.encrypt
aes.key = key
aes.iv = '0000000000000000'
aes.padding =0
length = 16
count = encrypted_string.length
if count < length
add = (length-count)
encrypted_string = encrypted_string + ("\0" * add)
else if count > length
add = (length-(count % length))
encrypted_string = encrypted_string + ("\0" * add)
end
end
puts "encrypted_string=#{encrypted_string}"
txt = aes.update(encrypted_string)+aes.final
puts "txt=:#{txt}"
txt.unpack('H*')[0]
end
def aes_dicrypt(key, dicrypted_string)
aes = OpenSSL::Cipher::Cipher.new("AES-256-CBC")
aes.decrypt
aes.key = key
aes.iv = '0000000000000000'
aes.padding = 0
aes.update([dicrypted_string].pack('H*')) << aes.final
end
test = Test3.new
key = "双方的秘钥"
sec = test.aes_encrypt(key,'1111111111111111')
puts sec
txt = test.aes_dicrypt(key, sec)
puts txt
end
嗯,按照 9 楼的方法可以传值过去
嗯,解决啦,用了一楼的方法,借鉴了三楼和六楼的代码。😄大家给力👍🏼👍🏼👏🏻
@tumayun 我也用了这个方法,但是跟 python 加密的结果不一样,那个 update 方法能详细讲讲码? ^^^
我觉得是编码出了问题,因为关于 AES 的所有能配的都配了,key 我没有写真实的,实际用的 key 长度是没问题的。 python 那个解密只调用 cryptor.decrypt(a2b_hex(text)),这个方法先把十六进制的 text 转化成了二进制,然后解码。 这个方法和 ruby 用的 [token_encry].pack('H*') 得到的二进制码一样,但是解出的码不一样,ruby 解出了乱码