summaryrefslogtreecommitdiff
path: root/server/utils
diff options
context:
space:
mode:
authorrohan09-raj <[email protected]>2022-08-16 12:15:55 +0530
committerrohan09-raj <[email protected]>2022-08-16 12:15:55 +0530
commit1c9a3d21cc3479d299181d98fb895614e0aaf649 (patch)
treed871c9821cab708ed7f12169db6d59a8128c76ce /server/utils
parent5be7add30a629474c9269355b875ab310a82ba4c (diff)
random bullshit
Diffstat (limited to 'server/utils')
-rw-r--r--server/utils/aadhaar.js117
1 files changed, 117 insertions, 0 deletions
diff --git a/server/utils/aadhaar.js b/server/utils/aadhaar.js
new file mode 100644
index 0000000..cd81711
--- /dev/null
+++ b/server/utils/aadhaar.js
@@ -0,0 +1,117 @@
+import {ELEVEN_TIMES_NINE} from '../constants/aadhaar';
+
+// const generateCheckSumDigit = (randomNumberArray) => {
+// const d = [
+// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
+// [1, 2, 3, 4, 0, 6, 7, 8, 9, 5],
+// [2, 3, 4, 0, 1, 7, 8, 9, 5, 6],
+// [3, 4, 0, 1, 2, 8, 9, 5, 6, 7],
+// [4, 0, 1, 2, 3, 9, 5, 6, 7, 8],
+// [5, 9, 8, 7, 6, 0, 4, 3, 2, 1],
+// [6, 5, 9, 8, 7, 1, 0, 4, 3, 2],
+// [7, 6, 5, 9, 8, 2, 1, 0, 4, 3],
+// [8, 7, 6, 5, 9, 3, 2, 1, 0, 4],
+// [9, 8, 7, 6, 5, 4, 3, 2, 1, 0],
+// ];
+
+// const p = [
+// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
+// [1, 5, 7, 6, 2, 8, 3, 0, 9, 4],
+// [5, 8, 0, 3, 7, 9, 6, 1, 4, 2],
+// [8, 9, 1, 6, 0, 4, 3, 5, 2, 7],
+// [9, 4, 5, 3, 1, 2, 6, 8, 7, 0],
+// [4, 2, 8, 6, 5, 7, 3, 9, 0, 1],
+// [2, 7, 9, 3, 8, 0, 6, 4, 1, 5],
+// [7, 0, 4, 6, 9, 1, 3, 2, 5, 8],
+// ];
+
+// const inv = [0, 4, 3, 2, 1, 5, 6, 7, 8, 9];
+
+// let c = 0;
+// for (let i = 0; i < randomNumberArray.length; i++) {
+// c = d[c][p[(i + 1) % 8][randomNumberArray[i]]];
+// }
+// return inv[c];
+// };
+
+// const generateAadhaar = () => {
+// const aadhaarNumberArray = [];
+// let randomNumber = Math.floor(Math.random() * ELEVEN_TIMES_NINE + 1);
+
+// while (randomNumber != 0) {
+// const digit = randomNumber % 10;
+// aadhaarNumberArray.push(digit);
+// randomNumber = Math.floor(randomNumber / 10);
+// }
+
+// const checkSumDigit = generateCheckSumDigit(aadhaarNumberArray);
+// aadhaarNumberArray.reverse();
+// aadhaarNumberArray.push(checkSumDigit);
+// let aadhaarNumber = 0;
+// aadhaarNumberArray.forEach((value, index) => {
+// aadhaarNumber = aadhaarNumber + value;
+// if (index !== aadhaarNumberArray.length - 1) {
+// aadhaarNumber = aadhaarNumber * 10;
+// }
+// });
+
+// return aadhaarNumber;
+// };
+
+function generate(array) {
+ const d = [
+ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
+ [1, 2, 3, 4, 0, 6, 7, 8, 9, 5],
+ [2, 3, 4, 0, 1, 7, 8, 9, 5, 6],
+ [3, 4, 0, 1, 2, 8, 9, 5, 6, 7],
+ [4, 0, 1, 2, 3, 9, 5, 6, 7, 8],
+ [5, 9, 8, 7, 6, 0, 4, 3, 2, 1],
+ [6, 5, 9, 8, 7, 1, 0, 4, 3, 2],
+ [7, 6, 5, 9, 8, 2, 1, 0, 4, 3],
+ [8, 7, 6, 5, 9, 3, 2, 1, 0, 4],
+ [9, 8, 7, 6, 5, 4, 3, 2, 1, 0],
+ ];
+
+ const p = [
+ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
+ [1, 5, 7, 6, 2, 8, 3, 0, 9, 4],
+ [5, 8, 0, 3, 7, 9, 6, 1, 4, 2],
+ [8, 9, 1, 6, 0, 4, 3, 5, 2, 7],
+ [9, 4, 5, 3, 1, 2, 6, 8, 7, 0],
+ [4, 2, 8, 6, 5, 7, 3, 9, 0, 1],
+ [2, 7, 9, 3, 8, 0, 6, 4, 1, 5],
+ [7, 0, 4, 6, 9, 1, 3, 2, 5, 8],
+ ];
+ const inv = [0, 4, 3, 2, 1, 5, 6, 7, 8, 9];
+
+ let c = 0;
+ for (let i = 0; i < array.length; i++) {
+ c = d[c][p[(i + 1) % 8][array[i]]];
+ }
+ return inv[c];
+}
+
+function generateAadhaar() {
+ const aadhaarArray = [];
+ let x = Math.floor(Math.random() * ELEVEN_TIMES_NINE + 1);
+
+ while (x != 0) {
+ const digit = x % 10;
+ aadhaarArray.push(digit);
+ x = Math.floor(x / 10);
+ }
+ const last_digit = generate(aadhaarArray);
+ aadhaarArray.reverse();
+ aadhaarArray.push(last_digit);
+ let ans = 0;
+ aadhaarArray.forEach((value, index) => {
+ ans = ans + value;
+ if (index !== aadhaarArray.length - 1) {
+ ans = ans * 10;
+ }
+ });
+
+ return ans;
+}
+
+export default generateAadhaar;