Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.
Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin. Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Yii2 shifrlashda muammo

+1 ovoz
178 marta ko‘rilgan
so‘radi 31 oktabr, 17 Hasan (424 bal)
tahrirlandi 01 noyabr, 17 Hasan

<?php 
        $string = 'Hasan';
        $shifrlangan = '';
        for ($i=0; $i < strlen($string); $i++) { 
            $shifrlangan.=chr(ord($string[$i])+5);
        }
        echo $shifrlangan;
    ?>

Shu kodni yozganimda ekranga << Mfxfs >> javob chiqyabdi. 

Lekin $shifrlangan.=chr(ord($string[$i])+5); qatordagi 5 orniga 20 sonini quysa nomalum shifrlar chiqyabdi. << \u�u� >> Demak bu yerda Hasan sozidagi s va n ni o`rniga � belgi quyilyabdi. Aslida 20 quysak 20ta ASCII jadvalida berilganga mos surilishi kerak. Buni qanday togrilasa bo`ladi? 

2 Javoblar

0 ovoz
javob berdi 11 noyabr, 17 SedBigDaddy (1,237 bal)
tanlangan 25 dekabr, 17 Hasan
 
Eng yaxshi javob

Oddiygina qilib Yii2ni o'zini shifirlovchi funcsiyasini ishlatin

$secretKey='abc123456';

$encryptedData = Yii::$app->getSecurity()->encryptByPassword($data, $secretKey);

$data = Yii::$app->getSecurity()->decryptByPassword($encryptedData, $secretKey);

0 ovoz
javob berdi 01 noyabr, 17 Saidolim (3,566 bal)

1. Tekshirishda xato qilyapsiz. Tekshirish uchun har bir char ning ord() tartib raqamini ekranga chiqarib, solishtirish kerak. siz aytgan <?> belgisining ostida juda ko`p belgilar yotibdi.

2. oddiygina +5 qilib siljitish hamma vaqt ham yaxshi natija bermidi. 

3. << \u�u� >> - bu natija +5 emas, +20 ning natijasi. Savolni to`g`rilab qo`ying. Chunki H ni 20 taga siljitsa \ bo`ladi. ACSII kodi H =72, \ = 92

Bundan hulosa kodlash to`g`ri ishlavotti. s ni (kodi 115) 20 taga siljitsa kodi 135 bo`lgan c ga o`xshash belgi chiqadi. u esa ekrahnga <?> shaklida beriladi.

Sizning kod etganingizdek ishlayapti, faqat siz qo`ygan vazifani noto`g`ri chuntirvos. 

izoh qoldirdi 01 noyabr, 17 Hasan (424 bal)
+5 quyganimda  << Mfxfs >>  shu natija chiqdi. +20 ta surganimda << \u�u� >> shu natija chiqdi. Demak aslida shifrlanadi. Lekin ekranda s o`rniga � shaklida chiqadi shunaqami?
izoh qoldirdi 01 noyabr, 17 Saidolim (3,566 bal)
ha shunday. Agar sizga boshqacha chiqishi kerak bo`lsa, ayting, shartlaringizni yo`nalish bervoramiz. Lekin hozir to`g`ri ishlavotti. ekranga kodi 128 dan katta bo`lgan beldilar to`g`ri chiqmidi, shunga � turibdi.

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...