انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: alirezanouri در 01 مهر 1394، 09:21 بظ
-
سلام ، ببخشید که همچین سوالی میپرسم و میدونم که باید خیلی سرچ کنم قبل پرسیدن :) اما الان تنها چیزی که بعد سرچ کردن دستگیرم شد اینه که نمیدونم اینو چکارش کنم و حداقل ده روز از وقتم رو سر این کار گذاشتم :)) و اینم بگم که اولین باریه که واسه شل لینوکس دارم کد مینوسم :(
حالا سوال اینه
من دارم یه اسکریپت نصب کننده برای یه نرم افزار تحت 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]