Adalah library NodeJS untuk enkripsi dan deskripsi Sandi Morse.
Untuk penginstallan cukup menggunakan snytax
npm install morsecrypt
Morsecrypt cocok untuk mengkonversi password karena tingkat penerjemah ulang yang sulit.
Untuk Enkripsi dapat menggunakan syntax
// Cara Async
const [err,hasil] = await encodeMorse(pass);
if(err) console.log(`ERROR : ${err.KIND}`});
console.log(`HASIL : ${hasil}`});
//Atau dengan callback
await encodeMorse(pass).then(([err,hasil])=>{
if(err) console.log(`ERROR : ${err.KIND}`});
console.log(`HASIL : ${hasil}`});
});
Untuk deksripsi dapat menggunakan syntax
//Dengan callback
await decodeMorse(pass).then(([err,hasil])=>{
if(err) console.log({RESPONSE:`ERROR : ${err.KIND}`});
console.log({RESPONSE:hasil});
});
//Dengan Promise
const [err,hasil] = await decodeMorse(pass);
if(err) console.log({RESPONSE:`ERROR : ${err.KIND}`});
console.log({RESPONSE:hasil});
Masing-masing method menggunakan parameter berupa string yang akan dikonnversi ataupun yang akan dideskripsi.
/**
* Variabel kalimat berupa string yang akan dikonversi ataupun yang * akan dideskripsi
*/
await encodeMorse(kalimat); // contoh: kisamatachi
await decodeMorse(kalimat); // contoh: -.-:..:...:.-:--:.-:-:.-:-.-.:....:..:
Ada beberapa kondisi yang harus diperhatikan untuk menggunakan library ini, antara lain:
- Pastikan kalimat/string tidak kosong.
- Pastikan agar tidak ada spasi dalam kalimat/string.
- Pastikan untuk tidak menggunakan angka.
- Pastikan tidak ada huruf kapital.
Berikut adalah contoh penggunaan dalam routing menggunakan Express.JS
router.get('/encode.:PASS',async(req,res,next)=>{
const pass = req.params.PASS;
if(!pass) return res.json({RESPONSE:'Parameter Tidak Lengkap'});
if(pass.includes(" ")) return res.json({RESPONSE:'Tidak Boleh Ada Spasi'});
if(/\d/.test(pass)) return res.json({RESPONSE:'Tidak Boleh Berupa Nomor'});
if(await cekKapital(pass))return res.json({RESPONSE:'Tidak Boleh Huruf Kapital'});
const [err,hasil] = await encodeMorse(pass);
if(err) return res.json({RESPONSE:`ERROR : ${err.KIND}`});
return res.json({RESPONSE:`HASIL : ${hasil}`});
})
Main Developer : Dani Zakaria (GITLAB)