आईओएस 7 और एएस 3 क्रिप्टो लाइब्रेरी (एईएस) के लिए एयर 3.9 का उपयोग करके गलत डिक्रिप्ट रिटर्न

मैं पासवर्ड का एक सुरक्षा सत्यापन बनाने की कोशिश कर रहा हूं जो सर्वर को एन्क्रिप्टेड पासवर्ड (एईएस एन्क्रिप्शन के लिए एएस 3 क्रिप्टो लाइब्रेरी और सर्वरसाइड पर्यावरण पर PHP का उपयोग करके) भेजता है और एक ही पासवर्ड के साथ एक एक्सएमएल प्राप्त करता है और पासवर्ड की स्थिति (यदि यह मान्य है या नहीं)। जब मुझे पासवर्ड प्राप्त होता है, तो मैं पहले दर्ज किए गए पासवर्ड से डिक्रिप्ट और तुलना करता हूं। यह पीसी पर काम करता है, यह एंड्रॉइड पर काम करता है, लेकिन जब मैं अपने आईपैड पर एक ही कोड का प्रयास करता हूं, तो मैं कुछ एशियाई विचारधाराओं को वापस लौटाता हूं, जो स्पष्ट रूप से दर्ज पासवर्ड से मेल नहीं खाते हैं।

मैंने पहले ही BIT_KEY को 1 9 2 और 256 में बदलने की कोशिश की है और कुछ भी नहीं बदला है। किसी को इसे ठीक करने का कोई विचार है?

मेरा स्नेयरियो है:

  1. The user types a password and press confirm to validate it.

  2. The button calls this function:

    public function restServiceCall(event:MouseEvent = null):void 
    {
        pswdString = txtKey.text;
    
       //Create the HTTP request object
        var request:URLRequest = new URLRequest("http://jpiaget.com.br/webservice.php");
        request.method = URLRequestMethod.GET;
    
        var criptedKey:String = AES.encrypt(pswdString, key, 128);
    
       //Add the URL variables
        var variables:URLVariables = new URLVariables();
        variables.application = currentApplication;
        variables.password = criptedKey;
    
        request.data = variables;
    
       //Initiate the transaction
        requestor = new URLLoader();
        requestor.dataFormat = URLLoaderDataFormat.TEXT;
        requestor.addEventListener(Event.COMPLETE, httpRequestComplete);
        requestor.load(request);
    }
    

Values ->
pswdString:
abc
key: jarbas
encrypt string: tXb1/1ZWVlb3wN8 (base64)

  1. Then, on the serverside there's a code that simply return a xml with 2 properties: password, and validated. The "password" proprerty is the same i sent, and the "validated" is a number (0 or 1) that returns always 1 for now.

  2. Back to AS3, i call this function:

    private function httpRequestComplete(event:Event):void 
    {
        //Preparese.traceBox.txtTrace.appendText(event.target.data);
    
        var newXML:XML = new XML(event.target.data);
        var validatedString:String = newXML.attribute("password");
    
        validated = (newXML.attribute("validated") == "1") ? true : false;
    
        //Preparese.traceBox.txtTrace.appendText("validatedString decripted: " + AES.decrypt(validatedString, chave, 128)); Here i have some asian ideograms, what must to be "abcde"
        var decryptedValidated:String = AES.decrypt(validatedString, chave, 128);
    
        if (pswdString == decryptedValidated && validated)
        {
            Preparese.traceBox.txtTrace.appendText("VALID PASSWORD/!");
    
            Preparese(parent).checkConection();
            Preparese(parent).removeChild(this);
        }
    }
    

http://puu.sh/5CRep.jpg - PrintScreen of my iPad traceBox return.

0
मैं सर्वरसाइड वातावरण पर PHP का उपयोग कर रहा हूं, मैं अपने परिदृश्य के साथ पोस्ट संपादित करूंगा, इसके लिए खेद है।
जोड़ा लेखक bsberti, स्रोत
एन्क्रिप्शन के लिए आप किस सर्वरसाइड वातावरण और कोड का उपयोग करते हैं? इसके अलावा यह थोड़ा अस्पष्ट है कि आप एएस 3 में बिना किसी कुंजी और प्रारंभिक वेक्टर के किस प्रकार का अल्गोरिथम उपयोग करते हैं। यहां आप एएस 3 stackoverflow.com/questions/17276371/… और यहां PHP का एक PHP "title =" PHP में एएस 3 क्रिप्टो एन्क्रिप्टेड टे
जोड़ा लेखक gMirian, स्रोत