thaicosmic.com

หนัง

วันจันทร์ที่ 19 พฤษภาคม พ.ศ. 2568

เปลี่ยนสิทธิ์ของ jhcis

 @echo off

echo ===== Changing permissions =====


:: เปลี่ยนสิทธิ์ของ jhcis-client

icacls "C:\Program Files\jhcis-client" /grant Everyone:F /T


:: เปลี่ยนสิทธิ์ของ jhcis

icacls "C:\Program Files\jhcis" /grant Everyone:F /T


echo ===== Done =====

pause

วันศุกร์ที่ 14 มีนาคม พ.ศ. 2568

 Last crontab

# /etc/crontab: system-wide crontab

# Unlike any other crontab you don't have to run the `crontab'

# command to install the new version when you edit this file

# and files in /etc/cron.d. These files also have username fields,

# that none of the other crontabs do.


SHELL=/bin/sh

# You can also override PATH, but by default, newer versions inherit it from the environment

#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin


# Example of job definition:

# .---------------- minute (0 - 59)

# |  .------------- hour (0 - 23)

# |  |  .---------- day of month (1 - 31)

# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...

# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# |  |  |  |  |

# *  *  *  *  * user-name command to be executed

17 * * * * root    cd / && run-parts --report /etc/cron.hourly

25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )

52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

0 0-23  * * 0-6 root sh /var/jhcis/mysql-backup-jhcisdb.sh >/dev/null 2>&1

*/5 * * * * root sh /var/jhcis/create-pdf.sh >/dev/null 2>&1

*/5 * * * * root /usr/bin/rsync -a /opt/lampp/htdocs/MyPDF.pdf /home/jhcis/'Google Drive'/myPDF/MyPDF.pdf >/dev/null 2>&1

#

วันพุธที่ 10 มกราคม พ.ศ. 2567

NavicatPassword

Credit : https://www.codetd.com/en/article/9767627


<?php


namespace FatSmallTools;


class NavicatPassword

{

    protected $version = 0;

    protected $aesKey = 'libcckeylibcckey';

    protected $aesIv = 'libcciv libcciv ';

    protected $blowString = '3DC5CA39';

    protected $blowKey = null;

    protected $blowIv = null;

    

    public function __construct($version = 12)

    {

        $this->version = $version;

        $this->blowKey = sha1('3DC5CA39', true);

        $this->blowIv = hex2bin('d9c7c3c8870d64bd');

    }

    

    public function encrypt($string)

    {

        $result = FALSE;

        switch ($this->version) {

            case 11:

                $result = $this->encryptEleven($string);

                break;

            case 12:

                $result = $this->encryptTwelve($string);

                break;

            default:

                break;

        }

        

        return $result;

    }

    

    protected function encryptEleven($string)

    {

        $round = intval(floor(strlen($string) / 8));

        $leftLength = strlen($string) % 8;

        $result = '';

        $currentVector = $this->blowIv;

        

        for ($i = 0; $i < $round; $i++) {

            $temp = $this->encryptBlock($this->xorBytes(substr($string, 8 * $i, 8), $currentVector));

            $currentVector = $this->xorBytes($currentVector, $temp);

            $result .= $temp;

        }

        

        if ($leftLength) {

            $currentVector = $this->encryptBlock($currentVector);

            $result .= $this->xorBytes(substr($string, 8 * $i, $leftLength), $currentVector);

        }

        

        return strtoupper(bin2hex($result));

    }

    

    protected function encryptBlock($block)

    {

        return openssl_encrypt($block, 'BF-ECB', $this->blowKey, OPENSSL_RAW_DATA|OPENSSL_NO_PADDING); 

    }

    

    protected function decryptBlock($block)

    {

        return openssl_decrypt($block, 'BF-ECB', $this->blowKey, OPENSSL_RAW_DATA|OPENSSL_NO_PADDING); 

    }

    

    protected function xorBytes($str1, $str2)

    {

        $result = '';

        for ($i = 0; $i < strlen($str1); $i++) {

            $result .= chr(ord($str1[$i]) ^ ord($str2[$i]));

        }

        

        return $result;

    }

    

    protected function encryptTwelve($string)

    {

        $result = openssl_encrypt($string, 'AES-128-CBC', $this->aesKey, OPENSSL_RAW_DATA, $this->aesIv);

        return strtoupper(bin2hex($result));

    }

    

    public function decrypt($string)

    {

        $result = FALSE;

        switch ($this->version) {

            case 11:

                $result = $this->decryptEleven($string);

                break;

            case 12:

                $result = $this->decryptTwelve($string);

                break;

            default:

                break;

        }

        

        return $result;

    }

    

    protected function decryptEleven($upperString)

    {

        $string = hex2bin(strtolower($upperString));

        

        $round = intval(floor(strlen($string) / 8));

        $leftLength = strlen($string) % 8;

        $result = '';

        $currentVector = $this->blowIv;

        

        for ($i = 0; $i < $round; $i++) {

            $encryptedBlock = substr($string, 8 * $i, 8);

            $temp = $this->xorBytes($this->decryptBlock($encryptedBlock), $currentVector);

            $currentVector = $this->xorBytes($currentVector, $encryptedBlock);

            $result .= $temp;

        }

        

        if ($leftLength) {

            $currentVector = $this->encryptBlock($currentVector);

            $result .= $this->xorBytes(substr($string, 8 * $i, $leftLength), $currentVector);

        }

        

        return $result;

    }

    

    protected function decryptTwelve($upperString)

    {

        $string = hex2bin(strtolower($upperString));

        return openssl_decrypt($string, 'AES-128-CBC', $this->aesKey, OPENSSL_RAW_DATA, $this->aesIv);

    }

}



use FatSmallTools\NavicatPassword;


//需要指定版本,11或12

//$navicatPassword = new NavicatPassword(12);

$navicatPassword = new NavicatPassword(11);


//解密

//$decode = $navicatPassword->decrypt('15057D7BA390');

$decode = $navicatPassword->decrypt('73EFB530B74DCCE359F34539742ECD9E8D1FE826F5C263CE');

echo $decode."\n";

วันอังคารที่ 28 พฤศจิกายน พ.ศ. 2566

jhcisbackup20231128

 # !/bin/sh


    /usr/local/mysql/bin/mysqldump --skip-comments --default-character-set=utf8 --routines --lock-tables=false --compatible=no_key_options -u root -pnhc03301 jhcisdb > /home/jhcis/Desktop/jhcisdb-backup-tmp/jhcisdb-03301.$(date -d "+0 day" "+%Y-%m-%d").sql


cd /home/jhcis/Desktop/jhcisdb-backup-tmp/


FILE1=jhcisdb-03301.$(date -d "+0 day" "+%Y-%m-%d").sql


if [ -f "$FILE1" ]; then


     sudo zip -r jhcisdb-03301.$(date -d "+0 day" "+%Y-%m-%d").zip "$FILE1"


fi


FILE2=jhcisdb-03301.$(date -d "+0 day" "+%Y-%m-%d").zip


     sudo cp /home/jhcis/Desktop/jhcisdb-backup-tmp/$FILE2 /home/jhcis/Google\ Drive/jhcisbackup/



cd /home/jhcis/Google\ Drive/jhcisbackup/



if [ -f "$FILE2" ]; then


     sudo rm -f /home/jhcis/Google\ Drive/jhcisbackup/jhcisdb-03301.$(date -d "-0 day" "+%Y-%m-%d").sql


     sudo rm -f /home/jhcis/Google\ Drive/jhcisbackup/jhcisdb-03301.$(date -d "-32 day" "+%Y-%m-%d").zip


     sudo rm -f /home/jhcis/Google\ Drive/jhcisbackup/jhcisdb-03301.$(date -d "-33 day" "+%Y-%m-%d").zip


fi

วันพฤหัสบดีที่ 27 กรกฎาคม พ.ศ. 2566

MySQL Ver.5.6.45

MySQL Ver.5.6.45 ต้องทำพิธีเบิกเนตร ไม่งั้น ลูกๆมองหาแม่ไม่เจอ

===

CREATE USER 'root'@'%' IDENTIFIED BY '123456';

GRANT GRANT OPTION ON *.* TO 'root'@'%';

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE ON *.* TO 'root'@'%';

GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `jhcisdb`.* TO 'root'@'%';

GRANT GRANT OPTION ON `jhcisdb`.* TO 'root'@'%';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;