我有这个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_);
}