انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: مشکل در پیاده سازی الگوریتم در شل اسکریپت  (دفعات بازدید: 1285 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین alirezanouri

  • Newbie
  • *
  • ارسال: 19
  • جنسیت : پسر
  • Geek InsidE
سلام  ، ببخشید که همچین سوالی میپرسم و میدونم که باید خیلی سرچ کنم قبل پرسیدن :) اما الان تنها چیزی که بعد سرچ کردن دستگیرم شد اینه که نمیدونم اینو چکارش کنم  و حداقل ده روز از وقتم رو سر این کار گذاشتم  :)) و اینم بگم که اولین باریه که واسه شل لینوکس دارم کد مینوسم :(

حالا سوال اینه

من  دارم یه اسکریپت نصب کننده برای یه نرم افزار تحت PHP مینویسم  برای اینکار ، یک  دیتا بیس ساختم به این صورت بعد یه فایل Dump  که از قبل داشتم رو توش import  کردم ، باید پسوردی که برای دیتا بیس ساختم رو با این الگوریتم که توی کد پی اچ پی دارم هش کنم ( توی کد PHP همه اطلاعات با این الگوریتم انکریپت و دیکریپت میشه ) حالا من باید پسورد دیتابیسی که توی شل اسکریپتم ساختم رو با این رمز کنم ،  توی قسمت پایین هم اسکریپتی که برای ساخت دیتابیس نوشتم رو میارم ، حالا سوال اینه :

الف : چجوری این الگوریتم رو توی شل اسکریپت پیاده کنم ؟
ب : این هش کردن رو قبل از دامپ انجام بدم ؟ یا بعدش ؟
با تشکر :)

function decryptQuery1($keySalt, $qryStr){

        //this line of code decrypt the query string
        $queryString = rtrim(
                            mcrypt_decrypt(
                                    MCRYPT_RIJNDAEL_256,
                                    md5($keySalt),
                                    urldecode(base64_decode($qryStr)),
                                    MCRYPT_MODE_CBC,
                                    md5(md5($keySalt))),
                                    "\0");   

        parse_str($queryString);

        $val = explode('=', $queryString);

        $count = count($val);

        if($count == 2)
            return $val[1];

        return null;
    }


و این هم کد شل اسکریپت :
#!/bin/bash

# $1 dbname
# $2 dbuser
# $3 dbpass
# $4 rootpassword

# Functions
ok() { echo -e '\e[32m'$1'\e[m'; } # Green

EXPECTED_ARGS=4
E_BADARGS=65
MYSQL=`which mysql`
 
Q1="CREATE DATABASE IF NOT EXISTS $1;"
Q2="GRANT ALL ON *.* TO '$2'@'localhost' IDENTIFIED BY '$3';"
Q3="FLUSH PRIVILEGES;"
SQL="${Q1}${Q2}${Q3}"
 
if [ $# -ne $EXPECTED_ARGS ]
then
  echo "Usage: $0 dbname dbuser dbpass"
  exit $E_BADARGS
fi
 
$MYSQL -uroot -p$4 -e "$SQL"

ok "Database $1 and user $2 created with a password $3"


mysql -u $2 -p $3 $1 < /home/onme/MobileCatalogAdminPanel/data-dump.sql
echo "dump done"
[size=14pt][/size]
[/size]