この記事では、主に PHP でクレジット カード番号をランダムに生成する方法を紹介します。これには、クレジット カード番号の規則に従って PHP でカード番号を生成する技術が含まれます。必要な友達は参考にしてください
この記事の例では、PHP でクレジット カード番号をランダムに生成する方法について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:
この PHP コードは、クレジット カード番号生成ルールに従ってランダムにクレジット カード番号を生成します。これは検証可能であり、学習の参考のみを目的としています。違法な目的で使用しないでください。使用しない場合、その結果についてはお客様が責任を負います。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
/* PHP クレジット カード番号ジェネレーター 著作権 (C) 2006 グラハム・キング graham@darkcoding.net このプログラムは無料のソフトウェアであり、再配布したり することができます。GNU General Public License の条件に従って変更してください Free Software Foundation によって公開されたバージョン 2 ライセンス、または (オプションで) 以降のバージョン。 このプログラムは役立つことを願って配布されています ただし、いかなる保証もありません。 の黙示的な保証もありません。商品性または特定の目的への適合性については、 を参照してください。詳細については、GNU 一般公衆利用許諾書をご覧ください。 GNU General Public License のコピーを受け取っているはずです そうでない場合は、フリー ソフトウェアに書き込みます Foundation, Inc.、51 Franklin Street、5th Floor、Boston、MA 02110-1301、USA。 */ $visaPrefixList[] = "4539"; $visaPrefixList[] = "4556"; $visaPrefixList[] = "4916"; $visaPrefixList[] = "4532"; $visaPrefixList[] = "4929"; $visaPrefixList[] = "40240071"; $visaPrefixList[] = "4485"; $visaPrefixList[] = "4716"; $visaPrefixList[] = "4"; $mastercardPrefixList[] = "51"; $mastercardPrefixList[] = "52"; $mastercardPrefixList[] = "53"; $mastercardPrefixList[] = "54"; $mastercardPrefixList[] = "55"; $amexPrefixList[] = "34"; $amexPrefixList[] = "37"; $discoverPrefixList[] = "6011"; $dinersPrefixList[] = "300"; $dinersPrefixList[] = "301"; $dinersPrefixList[] = "302"; $dinersPrefixList[] = "303"; $dinersPrefixList[] = "36"; $dinersPrefixList[] = "38"; $enRoutePrefixList[] = "2014"; $enRoutePrefixList[] = "2149"; $jcbPrefixList[] = "35"; $voyagerPrefixList[] = "8699"; /* 'prefix' is the start of the CC number as a string, any number of digits. 'length' is the length of the CC number to generate. Typically 13 or 16 */ function completed_number($prefix, $length) { $ccnumber = $prefix; # generate digits while ( strlen($ccnumber) < ($length - 1) ) { $ccnumber .= rand(0,9); } # Calculate sum $sum = 0; $pos = 0; $reversedCCnumber = strrev( $ccnumber ); while ( $pos < $length - 1 ) { $odd = $reversedCCnumber[ $pos ] * 2; if ( $odd > 9 ) { $odd -= 9; } $sum += $odd; if ( $pos != ($length - 2) ) { $sum += $reversedCCnumber[ $pos +1 ]; } $pos += 2; } # Calculate check digit $checkdigit = (( floor($sum/10) + 1) * 10 - $sum) % 10; $ccnumber .= $checkdigit; return $ccnumber; } function credit_card_number($prefixList, $length, $howMany) { for ($i = 0; $i < $howMany; $i++) { $ccnumber = $prefixList[ array_rand($prefixList) ]; $result[] = completed_number($ccnumber, $length); } return $result; } function output($title, $numbers) { $result[] = " ";
';
$result[] = " $title";$result[] = implode(' $result[]= ' return implode(' } # # Main # echo " ";
";
$mastercard = credit_card_number($mastercardPrefixList, 16, 10); echo output("Mastercard", $mastercard); $visa16 = credit_card_number($visaPrefixList, 16, 10); echo output("VISA 16 digit", $visa16); echo " echo " ";
";
$visa13 = credit_card_number($visaPrefixList, 13, 5); echo output("VISA 13 digit", $visa13); $amex = credit_card_number($amexPrefixList, 15, 5); echo output("American Express", $amex); echo " # Minor cards echo " ";
";
$discover = credit_card_number($discoverPrefixList, 16, 3); echo output("Discover", $discover); $diners = credit_card_number($dinersPrefixList, 14, 3); echo output("Diners Club", $diners); echo " echo " ";
";
$enRoute = クレジットカード番号($enRoutePrefixList, 15, 3); エコー出力("enRoute", $enRoute); $jcb = クレジットカード番号($jcbPrefixList, 16, 3); エコー出力("JCB", $jcb); エコー " echo " ";
";
$voyager = Credit_card_number($voyagerPrefixList, 15, 3); エコー出力("ボイジャー", $voyager); エコー " ?> |
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。