Guest User

Untitled

a guest
Nov 21st, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. #!/usr/bin/env nodejs
  2. var fs = require('fs');
  3.  
  4. var file = fs.readFileSync(process.argv[2]);
  5. var filetext = file.toString('ascii');
  6. var passwords = filetext.split('\n');
  7.  
  8. //console.log(passwords);
  9.  
  10. var checks = [function hasUpper(password) {
  11. var uppers = 'QWERTYUIOPASDFGHJKLZXCVBNM';
  12. uppers = uppers.split('');
  13. for (var i = 0; i < uppers.length; i++) {
  14. if (password.includes(uppers[i])) {
  15. return true;
  16. }
  17. }
  18. return false;
  19. }, function hasLower(password) {
  20. var lowers = 'qwertyuiopasdfghjklzxcvbnm';
  21. lowers = lowers.split('');
  22. for (var i = 0; i < lowers.length; i++) {
  23. if (password.includes(lowers[i])) {
  24. return true;
  25. }
  26. }
  27. return false;
  28. }, function hasNumber(password) {
  29. var nums = '1234567890';
  30. nums = nums.split('');
  31. for (var i = 0; i < nums.length; i++) {
  32. if (password.includes(nums[i])) {
  33. return true;
  34. }
  35. }
  36. return false;
  37. }, function hasSpec(password) {
  38. var spec = '!@#$%^&*()`~-=_+[]{}|;\':"\\,./<>?';
  39. spec = spec.split('');
  40. for (var i = 0; i < spec.length; i++) {
  41. if (password.includes(spec[i])) {
  42. return true;
  43. }
  44. }
  45. return false;
  46. }, function maxlength(password) {
  47. var max = 20;
  48. return password.length <= max;
  49. }, function minlength(password) {
  50. var min = 8;
  51. return password.length >= min;
  52. }
  53. ];
  54.  
  55. passwords.forEach(function (password) {
  56. var numChecksFail = 0;
  57. checks.forEach(function (check) {
  58. if (check(password) == false) {
  59. numChecksFail++;
  60. }
  61. });
  62. var outputstr = 'Password: (' + (password.length < 10 ? '0' + password.length : password.length) + ') ';
  63. var pout = function() {
  64. if (password.length == 20) {
  65. return password;
  66. } else if (password.length < 20) {
  67. do {
  68. password += ' ';
  69. } while (password.length !== 20)
  70. return password;
  71. } else {
  72. return password.substring(0,20);
  73. }
  74. }();
  75. outputstr += pout;
  76. outputstr += ' Status: ' + function getstat() {
  77. var temp = '';
  78. if (numChecksFail == 0) {
  79. return 'Passed all checks!';
  80. } else if (numChecksFail == 1) {
  81. return 'Failed 1 check';
  82. } else {
  83. return 'Failed ' + numChecksFail + ' checks';
  84. }
  85. }();
  86. console.log(outputstr);
  87. });
Add Comment
Please, Sign In to add comment