ActiveSupport :: MessageEncryptor为相同的数据生成不同的加密

时间:2017-05-04 01:47:59

标签: ruby-on-rails ruby encryption

我正在使用ActiveSupport :: MessageEncryptor生成我的令牌加密,并使用此加密令牌进行缓存。问题是ActiveSupport :: MessageEncryptor为每个调用生成相同数据的不同加密,如下所示。关于如何避免这种情况的任何建议。

2.3.1 :029 > key = "f5c1d61058d7cee6c886063f4f7f4589ea021928ea2f265dc5a6d8605e50478976cbdae25ddffaa59fe8a8c5a0683d32d66f845decd056f5be6da7cfcf7f9bc3"
 => "f5c1d61058d7cee6c886063f4f7f4589ea021928ea2f265dc5a6d8605e50478976cbdae25ddffaa59fe8a8c5a0683d32d66f845decd056f5be6da7cfcf7f9bc3" 
2.3.1 :030 > data = "5ae545f655cfac10b50a07cc1055b43ac7f6067e5ea7320332720d6359e538ca"
 => "5ae545f655cfac10b50a07cc1055b43ac7f6067e5ea7320332720d6359e538ca" 
2.3.1 :031 > encrypter = ActiveSupport::MessageEncryptor.new(key)
 => #<ActiveSupport::MessageEncryptor:0x000000067bafb0 @secret="f5c1d61058d7cee6c886063f4f7f4589ea021928ea2f265dc5a6d8605e50478976cbdae25ddffaa59fe8a8c5a0683d32d66f845decd056f5be6da7cfcf7f9bc3", @sign_secret=nil, @cipher="aes-256-cbc", @verifier=#<ActiveSupport::MessageVerifier:0x000000067badf8 @secret="f5c1d61058d7cee6c886063f4f7f4589ea021928ea2f265dc5a6d8605e50478976cbdae25ddffaa59fe8a8c5a0683d32d66f845decd056f5be6da7cfcf7f9bc3", @digest="SHA1", @serializer=ActiveSupport::MessageEncryptor::NullSerializer>, @serializer=Marshal> 
2.3.1 :032 > encrypter.encrypt_and_sign(data)
 => "c1NCTzR6bFhtYW53WFZpK242RnlTdkhrM2VKa2hxM1BkSUl3MFV0cmYrZ2dzMW0vQW1iWEhjYTRJdXFIa081NXNsM1h3OGNrYTZUMHo3bnhyRDBVc0MwVnB6Q2lJaHEvbFU4V1dqdjhhd3c9LS1oaWZ4VXp5YndLMUZ0cWcwRzJhTHVnPT0=--d4bb2c1936cfc414039db49d99a69649785221a7" 
2.3.1 :033 > encrypter.encrypt_and_sign(data)
 => "UG9aN0ZEK01nTkVENDQ0dnlhdENyL3BzTFJkYnJ2eWEwNnE4YVZ6L2tkNlkrbGtpOGR4QWx4MlE1M1RNenMvWDBuTHE1b212K2p3ZzZvbE45bUl5by9ZdkJNYkdTQ2NBcGxYSEExb0ZJRk09LS1LZTNCSDlaVEoyRGNTYXQzeENGRjN3PT0=--9dacde056a9b2387afb94df6759822f6effbd077" 
2.3.1 :034 > encrypter.encrypt_and_sign(data)
 => "dERlR1UvUkFpb3RIUWFyRUFoZVpHY1RWV3REWW5lYXB1eGw2U0NnV2Vhc3NXV2RSNmhKUDBXZXZFc2JDN2lIRjFvZElxSy9yQ3pYWEJCNndJMFVwbnlsckVYSkgzdkN2eGVEMEJ1V09QdjA9LS1yc0JhL0tZaSttdmZPWVhQcXFMWVFBPT0=--b8968961a69b6803579f902a48f75b43d8b1a242" 

0 个答案:

没有答案