Showing posts with label bash. Show all posts
Showing posts with label bash. Show all posts

Decrypt base64 Data Di Linux

Wednesday, February 08, 2017

Bila guna bash script, dan perlu sorokkan password, boleh guna encrypt base64, kemudian decrypt balik

#!/bin/sh

username='my_username'
password='my_password'

username_encoded=$(echo -n "$username" | openssl enc -base64)
password_encoded=$(echo -n "$password" | openssl enc -base64)

username_decoded=$(echo "$username_encoded" | openssl enc -d -base64)
password_decoded=$(echo "$password_encoded" | openssl enc -d -base64)

echo "username: $username"
echo "username_encoded: $username_encoded"
echo "username_decoded: $username_decoded"
echo "password: $password"
echo "password_encoded: $password_encoded"
echo "password_decoded: $password_decoded"
Output:
username: my_username
username_encoded: bXlfdXNlcm5hbWU=
username_decoded: my_username
password: my_password
password_encoded: bXlfcGFzc3dvcmQ=
password_decoded: my_password
Bila encode, ada hantar newline. Bila decode, tak new line, tak payah guna -n pada echo.
Contoh bila nak guna. Setkan awal-awal, hasilnya, masukkan dalam script untuk di decode kan semula.
mygpis@mygpis-db:~$ echo -n "mysecpassword" | openssl enc -base64
TXlHUElTMTIz
mygpis@mygpis-db:~$ vi task.sh

#!/bin/bash

DBHOST='localhost'
DBUSRN='root'
#DBPASS='mysecpassword'#commentkan
DBNAME='mygpis'
DBPASS=$(echo "TXlHUElTMTIz" | openssl enc -d -base64)

Carian String Dalam File di Linux

Wednesday, June 23, 2010

Kadang-kadang kita lupa code yang kita buat berada di dalam file yang mana satu. Lebih-lebih lagi bila file code terlalu banyak. Ada pelbagai cara untuk mengatasi masalah ini.

Jika menggunakan Notepad++, Sublime Text, atau apa-apa text editor, kita boleh buat search merentasi file. Jika di windows, pada command prompt, guna findstr.

Dalam ni kita fokus jika menggunakan linux. Jika dalam linux, gunakan arahan grep. Grep ini banyak kegunaan untuk buat carian. Boleh cari menggunakan regular expression, cari bilangan baris code dan macam-macam lagi.

Bagi kes sekadar nak cari perkataan, gunakan arahan grep diikuti perkataan yang hendak dicari dan lokasi senarai file.

Sebagai contoh, kita mahu cari perkataan "pengguna" di dalam semua file 'php' yang berada di /var/www/html/sistembaru/.

# grep --color -R "pengguna" /var/www/html/sistembaru/*.php

Tetapi jika perkataan tersebut menggunakan simbol-simbol yang sedia digunakan oleh regular-expression, kita tidak boleh menggunakan tanda ", kita perlu tukar guna tanda '. Tanda ' akan ignore itu sebagai regular expression.

# grep --color -R 'currencymyr($strn)' /var/www/html/sistembaru/*.php

Hasil dari carian di atas, akan paparkan code panjang lebar walaupun perkataan yang dijumpai itu satu sahaja. Bagi mengatasi masalah ini, kita minta supaya dipaparkan satu baris keputusan sahaja, disertakan dengan pemberitahuan line keberapa perkataan itu dijumpai. Gunakan -n bagi tujuan tersebut.

# grep --color -R -n 'currencymyr($strn)' /var/www/html/sistembaru/*.php