⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tjpin.java

📁 在java卡上实现的PBOC电子钱包应用
💻 JAVA
字号:
/**
 *------------------------------------------------------------------------------
 *  Project name    :  PBOC 2.0 EP Simple version
 *                      - Java Card Open Platform applet -
 *
 *  Platform        :  Java virtual machine
 *  Language        :  java 1.3.0-C
 *  Devl tool       :  Borland (c) JBuilder 4.0
 *
 *  Original author : Menghongwen@gmail.com 
 *  Date            : March, 2006
 *------------------------------------------------------------------------------
 */
package PbocEpSimpleVersion;

import javacard.framework.*;

public class tjPIN {
   private byte[]  szPIN = new byte[8];
   private short   usCount;
   private boolean bVerifyed;
   //------------------------------------------------
   public tjPIN() {
      Util.arrayFillNonAtomic(szPIN,(short)0,(short)8,(byte)0xFF);
      szPIN[0] =(byte)0x12;
      szPIN[1] =(byte)0x34;
      szPIN[2] =(byte)0x56;
      bVerifyed = false;
      usCount = constdef.CONST_RetryTimes;
   }
   //------------------------------------------------
   public void reset() {
      bVerifyed = false;
   }
   //------------------------------------------------
   public boolean verify(byte[] vdata){
      if (Util.arrayCompare(szPIN,(short)0,vdata,(short)0,(short)8)==(short)0) {
         usCount = constdef.CONST_RetryTimes;
         bVerifyed = true;
         return true;
      }
      if(usCount>(short)0) usCount--;
      return false;
   }
   //------------------------------------------------
   public boolean verifyChange(byte[] vdata){
      if (Util.arrayCompare(szPIN,(short)0,vdata,(short)0,(short)8)==(short)0) {
         Util.arrayCopyNonAtomic(vdata,(short)8,szPIN,(short)0,(short)8);
         usCount = constdef.CONST_RetryTimes;
         bVerifyed = true;
         return true;
      }
      if(usCount>(short)0) usCount--;
      return false;
   }
   //------------------------------------------------
   public void  setNewValue(byte[] vdata ){
       Util.arrayCopyNonAtomic(vdata,(short)0,szPIN,(short)0,(short)8);
       usCount = constdef.CONST_RetryTimes;
   }
   //------------------------------------------------
   public boolean certified() {
       return  bVerifyed;
   }
   //------------------------------------------------   
   public void resetCounter() {
	   usCount = constdef.CONST_RetryTimes;
       //Util.arrayFillNonAtomic(szPIN,(short)0,(short)8,(byte)0xFF);
	   //szPIN[0] =(byte)0x12;
	   //szPIN[1] =(byte)0x34;
	   //szPIN[2] =(byte)0x56;
	   bVerifyed = false;
   }
   //------------------------------------------------
   public short remainTimes() {
       return usCount;
   }
   //------------------------------------------------
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -