第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何修復(fù)“對于 UInt32 來說值太大或太小”C#

如何修復(fù)“對于 UInt32 來說值太大或太小”C#

C#
慕沐林林 2023-08-27 10:40:00
我正在嘗試將 ActionScript3 代碼轉(zhuǎn)換為 C#,這就像主要的事情。然而,在嘗試轉(zhuǎn)換其中一個函數(shù)時,當(dāng)我嘗試將十六進制字符串轉(zhuǎn)換為 int 時,我收到了標(biāo)題中的錯誤?;旧希@段代碼應(yīng)該獲取用戶數(shù)據(jù)等信息,然后執(zhí)行某些操作,最后返回 Base64 編碼的文本。我知道的主要錯誤是在“l(fā)oc9 = Convert.ToInt32(loc8, 16);”的部分。這就是我收到標(biāo)題中所說的錯誤的地方。我曾嘗試研究其他人遇到的類似問題,但它看起來并不相同,并且并沒有真正幫助我解決問題。(順便說一句,如果這聽起來不太清楚,我很抱歉,如果不明白,請糾正我或提出更多問題)調(diào)用時出錯的截圖ActionScript3 代碼:private static function p(param1:String) : String      {         var _loc6_:String = null;         var _loc7_:String = null;         var _loc8_:String = null;         var _loc9_:int = 0;         var _loc2_:String = MD5.hash(param1);         var _loc3_:ByteArray = new ByteArray();         var _loc4_:int = 0;         while(_loc4_ < _loc2_.length * 2)         {            _loc6_ = _loc2_.slice(_loc4_,_loc4_ + 1);            _loc7_ = _loc2_.slice(_loc4_ + 1,_loc4_ + 2);            _loc8_ = "0x" + _loc6_ + _loc7_;            _loc9_ = int(_loc8_);            _loc3_.writeByte(_loc9_);            _loc4_ = _loc4_ + 2;         }         _loc3_.position = 0;         var _loc5_:Base64Encoder = new Base64Encoder();         _loc5_.encodeBytes(_loc3_,0,16);         return _loc5_.toString();      }      public function calculateFromNewActorCreationData(param1:NewActorCreationData, param2:ByteArray, param3:ByteArray) : String      {         return this.calculateFromStrings(param1.ChosenActorName,param1.ChosenPassword,param2,param3);      }      public function calculateFromStrings(param1:String, param2:String, param3:Object, param4:Object) : String      {         var _loc5_:String = param1 + param2 + this.fromByteArray(param3) + this.fromByteArray(param4) + this.p();         return p(_loc5_);      }我最終期望的是能夠調(diào)用函數(shù),將返回的 Base64 編碼數(shù)據(jù)顯示在 MessageBox 中(使用 messagebox 作為測試),而不是彈出任何錯誤。PS - 除了我在這段代碼中遇到的主要問題之外,我還覺得我轉(zhuǎn)換的其他函數(shù)并不完美或者可能不一樣。因此,如果我的主要問題能夠得到解決,如果有人也可以仔細檢查我的代碼的其他功能,確保它們是準確的,那就太棒了,并提前致謝。
查看完整描述

1 回答

?
收到一只叮咚

TA貢獻1821條經(jīng)驗 獲得超5個贊

總體來看,AS3 代碼似乎正在嘗試MD5.hash以最糟糕的方式將結(jié)果轉(zhuǎn)換為 Base64 編碼的字符串(我相信這可以在一行中完成。)


因此,與其復(fù)制所有代碼將哈希轉(zhuǎn)換為十六進制字符串,結(jié)果卻很糟糕地將其轉(zhuǎn)換回二進制數(shù)組,而只需直接使用已經(jīng)是二進制數(shù)組的 C# 結(jié)果:


public static string p(string param1) {

    byte[] loc3 = System.Security.Cryptography.MD5.Create().ComputeHash(System.Text.Encoding.ASCII.GetBytes(param1));

    return Convert.ToBase64String(loc3, 0, 16);

}


查看完整回答
反對 回復(fù) 2023-08-27
  • 1 回答
  • 0 關(guān)注
  • 353 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號