Government Document Verification with Zero-Knowledge Proof
npm install one-card```markdown
`OneCard - Government Document Verification with Zero-Knowledge Proof
OneCard is a Node.js package that allows the verification of multiple government-issued documents and generates a unique hashified code that can be used for validation on other platforms using Zero-Knowledge Proof (ZKP). The hashified code contains details such as the user's age and the verified documents, ensuring privacy by not disclosing any sensitive data.
Features
- Document Verification: Verify the following government-issued documents:
- Aadhaar
- PAN
- Passport
- Voter ID
- Driving License
- Ration Card
- Birth Certificate
- Admin-Only Verification: Only admins can verify documents using a password.
- Zero-Knowledge Proof (ZKP): Generates a unique hashified code that can be shared with third parties for validation of the user’s age and verified documents, without disclosing the actual documents.
- Encryption: Uses AES-256-CBC encryption to generate a hashified code. The code can be decrypted to retrieve the verified data.
Installation
To install the package from NPM, use the following command:
bash
`
npm install one-card
``
OneCard
Usage
$3
To get started, import the class into your project:
`
javascript
`
const OneCard = require("one-card");
OneCard
$3
Create a new instance with the required documents and date of birth (DOB):
`
javascript
`
const card = new OneCard({
aadhar: "AadhaarNumber",
pan: "PANNumber",
passport: "PassportNumber",
voter: "VoterID",
drivingLicense: "DrivingLicenseNumber",
ration: "RationCardNumber",
birthCertificate: "BirthCertificateNumber",
dob: "DateOfBirth",
});
`
$3
Admins can authenticate by providing the correct password from the environment file:
javascript
`
card.signin("your-admin-password");
`
$3
Once logged in as an admin, you can verify documents using the following methods:
javascript
`
card.verifyAadhar(); // Verify Aadhaar
card.verifyPan(); // Verify PAN
card.verifyPassport(); // Verify Passport
card.verifyVoter(); // Verify Voter ID
card.verifyDrivingLicense(); // Verify Driving License
card.verifyRation(); // Verify Ration Card
card.verifyBirthCertificate(); // Verify Birth Certificate
getAge()
$3
You can get the user's age by calling the method:
`
javascript
`
const age = card.getAge();
console.log("User's Age:", age);
`
$3
After verifying documents, generate a hashified code that contains the age and document verification status:
javascript
`
const uniqueCode = card.hashify();
console.log("Unique Hashified Code:", uniqueCode);
`
$3
You can decrypt the hashified code to retrieve the original verified data:
javascript
`
const decryptedData = card.decrypt(uniqueCode);
console.log("Decrypted Data:", decryptedData);
`
$3
You can check whether specific documents are verified using the respective methods:
javascript
``
const isAadharVerified = card.isAadharVerified();
const isPanVerified = card.isPanVerified();
// Check other documents similarly...