
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
NaHDB adalah solusi key-value database modern yang ringan, cepat, dan aman dengan dukungan enkripsi AES-256.
NaHDB adalah solusi key-value database modern yang 💨 ringan, ⚡ cepat, dan 🔒 aman dengan dukungan enkripsi AES-256. Dirancang untuk developer 🐍 Python, 🟦 Node.js, dan 🐘 PHP, NaHDB memudahkan Anda menyimpan data dengan tingkat keamanan tinggi tanpa harus bergantung pada sistem database yang kompleks.
Jika Anda merasa terbantu dengan proyek ini, Anda bisa mendukung pengembangan lebih lanjut dengan berdonasi melalui:
105361441776MSdWrJR8eHZEF9PFBKzyiSXcvAsTdrsg3D3LDgRxf5sAky8ejJJE7tR4L6uvJzmwoH4kbitcoincash:qrrqattarsej5m3v05rtgfulcqqlxy840yls0rh56wSalin file NaHDB.js ke dalam proyek Anda. atau
npm install nahdb
tambahkan "type": "module" kedalam package.json
{
"name": "nahdb",
"version": "1.0.0",
"type": "module",
"description": "NaHDB adalah solusi key-value database modern yang ringan, cepat, dan aman dengan dukungan enkripsi AES-256.",
"main": "app.js",
"scripts": {
"test": "node app.js"
},
"author": "Ilman Hendrawan Saputra",
"license": "ISC"
}
import { NaHDB } from './NaHDB.js';
const db = new NaHDB('databasePath', Buffer.from('key', 'utf-8'));
await db.init();
Default password root adalah '' dan mengembalikan boolean.
(async () => {
await db.login('root', '');
})()
(async () => {
// Create Table
await db.createTable("table",{"nameColom" : {"type": "str", "default": ""}});
// Get List Table
let listTable = db.listTable();
console.log(listTable);
})()
(async () => {
// Update Table
await db.updateTable("table",{"nameColom" : {"type": "str", "default": ""},"nameColom2" : {"type": "str", "default": ""}});
// Get Schema Table
let schemaTable = db.getSchema("table");
console.log(schemaTable);
})()
(async () => {
// Delete Table
await db.deleteTable("table");
})()
(async () => {
// Add Data
await db.create("table", {"nameColom":"value"});
})()
(async () => {
// Update Data
await db.update("table", {"nameColom":"value"}, {"nameColom":"valueUpdate"});
})()
(async () => {
// Delete Data
db.delete("table", {"nameColom":"valueUpdate"});
})()
(async () => {
// Create Table Users
await db.createTable("users", {
"user_id": {"type": "int", "default": 0},
"name": {"type": "str", "default": ""},
"email": {"type": "str", "default": ""}
})
// Add Data Users
await db.create("users", {"user_id": 1, "name": "Alice", "email": "alice@example.com"})
await db.create("users", {"user_id": 2, "name": "Bob", "email": "bob@example.com"})
await db.create("users", {"user_id": 3, "name": "Charlie", "email": "charlie@example.com"})
// Create Table Orders
await db.createTable("orders", {
"order_id": {"type": "int", "default": 0},
"user_id": {"type": "int", "default": 0},
"order_date": {"type": "str", "default": ""}
})
// Add Data Orders
await db.create("orders", {"order_id": 101, "user_id": 1, "order_date": "2025-07-08"})
await db.create("orders", {"order_id": 102, "user_id": 2, "order_date": "2025-07-09"})
await db.create("orders", {"order_id": 103, "user_id": 1, "order_date": "2025-07-10"})
// Create Table Products
await db.createTable("products", {
"product_id": {"type": "int", "default": 0},
"order_id": {"type": "int", "default": 0},
"product_name": {"type": "str", "default": ""},
"price": {"type": "float", "default": 0.0}
})
// Add Data Products
await db.create("products", {"product_id": 1001, "order_id": 101, "product_name": "Laptop", "price": 1200.0})
await db.create("products", {"product_id": 1002, "order_id": 101, "product_name": "Mouse", "price": 25.0})
await db.create("products", {"product_id": 1003, "order_id": 102, "product_name": "Keyboard", "price": 45.0})
await db.create("products", {"product_id": 1004, "order_id": 103, "product_name": "Monitor", "price": 300.0})
// Get Data Join Table Singgle Kolom
data = db.join("orders", "user_id", [{"table": "users", "on": "user_id", "as": "user"}])
console.log(data)
// Get Data Join Table Multiple Colomn
data = db.joinField([
{ "table": "users"},
{"table": "orders","on": "user_id","where": {"table": "users", "on": "user_id"},"as": "orders"},
{"table": "products","on": "order_id","where": {"table": "orders", "on": "order_id"},"as": "products"}
])
console.log(data)
})()
(async () => {
// Flush Table
await db.flushTable("users")
})()
Permision:
__user__ :
get_usersget_user_id_by_usernameadd_userupdate_permissionforget_passwordchange_passwordget_username_by_idget_user_by_idupdate_usernametable :
selectcreateupdatedeleteflushget_schemalistupdate_tabledelete_tablecreate_table(async () => {
// Add Users
await db.addUser("username","password", "role" , { users: ['select', 'create'] })
// Get Users
let users = db.getUsers()
console.log(users)
})()
(async () => {
// Forget Password
await db.forgetPassword("username","passwordNew")
})()
(async () => {
// Get ID by Username
let idUser = await db.getUserIdByUsername('username')
// Update Username
await db.updateUsername('usernameNew', idUser)
})()
(async () => {
// Forget Password
await db.forgetPassword("username","passwordNew")
})()
(async () => {
// Update Password
await db.changePassword("passwordNew",idUser)
})()
(async () => {
// Get Username by ID
let username = db.getUsernameById(idUser)
// Update Permision User
await db.updatePermission(username, {"users":["select","create","update","delete"]})
// Get Users
users = db.getUsers()
console.log(users)
})()
(async () => {
// Check Login
let isLogin = db.isLogin()
console.log(isLogin)
})()
(async () => {
// Get User by ID
let user = db.getUserById(idUser)
console.log(user)
})()
MIT License.
Jika Anda merasa terbantu dengan proyek ini, Anda bisa mendukung pengembangan lebih lanjut dengan berdonasi melalui:
105361441776MSdWrJR8eHZEF9PFBKzyiSXcvAsTdrsg3D3LDgRxf5sAky8ejJJE7tR4L6uvJzmwoH4kbitcoincash:qrrqattarsej5m3v05rtgfulcqqlxy840yls0rh56w🙏 Terima kasih atas dukungan Anda!
FAQs
NaHDB adalah solusi key-value database modern yang ringan, cepat, dan aman dengan dukungan enkripsi AES-256.
We found that nahdb demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.