深夜脑洞,写了一个可以推算火车票身份证号码的小程序
1. 火车票上*号打的是月,日,理论上的有最大366种组合;
2. 校验码是最后的一位,0-9及X,11个结果;
3. 那么,通过火车票上的身份证号,可以得到33个左右真正的有效身份证号;
4. 如果你能知道对方的星座(嗯,大家不是经常曝自己是什么星座么),那么,再将这30多个结果映射到12个星座中,最终可能性只有2-3个。。。
5. 结论:晒车票,一定要打码
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 | using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Geyunfei.CheckID { class Program { static int [] a = new int [] { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 }; static char [] b = new char [] { '1' , '0' , 'X' , '9' , '8' , '7' , '6' , '5' , '4' , '3' , '2' }; static int index = 0; static void Main( string [] args) { System.Console.WriteLine( "输入火车票上的身份证号:" ); String a = System.Console.ReadLine(); var year = int .Parse(a.Substring(6, 4)); var beginDate = new DateTime(year, 1, 1); var chk = a.Substring(14); int days = 365; if (DateTime.IsLeapYear(year)) days++; for ( int i =0;i<days; i++) { var chkDate = beginDate.AddDays(i).ToString( "MMdd" ); var id = a.Substring(0, 10) + chkDate + chk; CheckID(id); } } private static void CheckID( string id) { int sum = 0; for ( int i = 0; i < 17; i++) { sum += int .Parse(id[i].ToString()) * a[i]; } var chk = b[sum % 11]; if (chk == id[17]) { index++; Console.WriteLine(getAstro( int .Parse(id.Substring(10,2)), int .Parse(id.Substring(12,2)))+ index.ToString() + " " +id); } } private static String getAstro( int month, int day) { String[] starArr = { "魔羯座" , "水瓶座" , "双鱼座" , "牡羊座" , "金牛座" , "双子座" , "巨蟹座" , "狮子座" , "处女座" , "天秤座" , "天蝎座" , "射手座" }; int [] DayArr = { 22, 20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22 }; // 两个星座分割日 int index = month; // 所查询日期在分割日之前,索引-1,否则不变 if (day < DayArr[month - 1]) { index = index - 1; } index = index % 12; // 返回索引指向的星座string return starArr[index]; } } } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步