这种加密如何工作?

时间:2019-05-20 03:21:47

标签: encryption public-key-encryption password-encryption

我有这个swf文件,并且找到了此代码。我想知道它是如何工作的。任何帮助将不胜感激。

<button onclick="load('fish','taco')">Load</button>

实际上我想解密此哈希

  

c80cebe419dbcdf34f05c5a41023160eda5e0be9e146dcb5c15fabc1ec0b9128

因此,我对加密有所了解。

我知道哈希是一种加密方式,但我不认为此哈希是加密的一种方式,因为在该功能的下方有一个解密功能。​​

public function encrypt(param1:String, param2:String) : String
      {
         var _loc8_:Number = NaN;
         var _loc9_:Number = NaN;
         var _loc12_:* = NaN;
         var _loc3_:Array = Convert.strToLongs(param1);
         var _loc4_:Array = Convert.strToLongs(param2);
         var _loc5_:Number = _loc3_.length;
         if(_loc5_ == 0)
         {
            return "";
         }
         if(_loc5_ == 1)
         {
            _loc3_[_loc5_++] = 0;
         }
         var _loc6_:Number = _loc3_[_loc5_ - 1];
         var _loc7_:Number = _loc3_[0];
         var _loc10_:Number = Math.floor(6 + 52 / _loc5_);
         var _loc11_:* = 0;
         while(_loc10_-- > 0)
         {
            _loc11_ = Number(_loc11_ + this.delta);
            _loc9_ = _loc11_ >>> 2 & 3;
            _loc12_ = 0;
            while(_loc12_ < _loc5_ - 1)
            {
               _loc7_ = _loc3_[_loc12_ + 1];
               _loc8_ = (_loc6_ >>> 5 ^ _loc7_ << 2) + (_loc7_ >>> 3 ^ _loc6_ << 4) ^ (_loc11_ ^ _loc7_) + (_loc4_[_loc12_ & 3 ^ _loc9_] ^ _loc6_);
               _loc6_ = _loc3_[_loc12_] = _loc3_[_loc12_] + _loc8_;
               _loc12_++;
            }
            _loc7_ = _loc3_[0];
            _loc8_ = (_loc6_ >>> 5 ^ _loc7_ << 2) + (_loc7_ >>> 3 ^ _loc6_ << 4) ^ (_loc11_ ^ _loc7_) + (_loc4_[_loc12_ & 3 ^ _loc9_] ^ _loc6_);
            _loc6_ = _loc3_[_loc5_ - 1] = _loc3_[_loc5_ - 1] + _loc8_;
         }
         return Convert.longsToHex(_loc3_);
      }

0 个答案:

没有答案