1. 程式人生 > >轉:標準銀聯POS加解密、及MAC演算法

轉:標準銀聯POS加解密、及MAC演算法

  1. private static final int iSelePM1[] = { // 置換選擇1的矩陣  
  2.     57494133251791585042342618102595143,  
  3.             35271911360524436635547393123157,  
  4.             62
    544638302214661534537292113528,  
  5.             20124 };  
  6.       
  7.     private static final int iSelePM2[] = { // 置換選擇2的矩陣  
  8.     141711241532815621102319124268167,  
  9.             272013241523137475530405145334844,  
  10.             4939563453464250362932 };  
  11.       
  12.     private static final int iROLtime[] = { // 迴圈左移位數表  
  13.     1122222212222221 };  
  14.       
  15.     private static final int iInitPM[] = { // 初始置換IP  
  16.     585042342618102605244362820124625446,  
  17.             38302214664564840322416857494133,  
  18.             2517915951433527191136153453729,  
  19.             21135635547393123157 };  
  20.       
  21.     private static final int iInvInitPM[] = { // 初始逆置換  
  22.     40848165624643239747155523633138646,  
  23.             14542262303754513532161293644412,  
  24.             52206028353431151195927342421050,  
  25.             18582633141949175725 };  
  26.       
  27.     private static final int iEPM[] = { // 選擇運算E  
  28.     3212345456789891011121312131415,  
  29.             1617161718192021202122232425242526,  
  30.             27282928293031321 };  
  31.       
  32.     private static final int iPPM[] = { // 置換運算P  
  33.     16720212912281711523265183110282414,  
  34.             32273919133062211425 };  
  35.       
  36.     private static final int iSPM[][] = { // 8個S盒  
  37.            &