• 廣東明創智慧科技有限公司是中國專業的身份證閱讀器供應商,
  • 專注身份證閱讀器、指紋采集儀、社??ㄗx卡器、IC卡讀寫器的一家身份證應用服務平臺
服務熱線:400-0020-908 官方微信 產品標簽 網站地圖 EN

明創智慧

當前位置: 首頁 > 服務支持專區 > SDK開發包 > 正文

明創IDR-100YB云解碼藍牙身份證閱讀器Android開發包

來源:www.mingcreate.cn   標簽:云解碼 藍牙 IDR-100YB DK309   最近更新:2022-2-19

111.jpg

本開發包支持明創云解碼藍牙身份證閱讀器,支持型號IDR-100YB、DK309系列云解碼讀卡器。

點擊這里下載↓



public class IDCardData {

    public final static int ID_TYPE_CN = 1;       //身份證類型-居民身份證

    public final static int ID_TYPE_GAT = 2;      //身份證類型-港澳臺居民身份證

    public final static int ID_TYPE_FOREIGN = 3;  //身份證類型-外國人永久居留身份證


    public String Name = null;                   // 姓名

    public String Sex = null;                    //性別

    public String Nation = null;                 //名族

    public String Born = null;                   //出生

    public String Address = null;                //住址

    public String IDCardNo = null;               //身份證號

    public String GrantDept = null;              //簽發機關

    public String UserLifeBegin = null;          //有效期起始日期

    public String UserLifeEnd = null;            //有效期結束日期

    public String passport = null;               //通行證號碼

    public String issueNumber = null;            //簽發次數


    public Bitmap PhotoBmp = null;

    public byte[] fingerprintBytes = null;       //指紋數據

    public int type = 0;


    public IDCardData(byte[] idCardBytes){


        if (idCardBytes.length < 1295) {

            return;

        }


        if ( (idCardBytes[0] == (byte)0xaa)

                && (idCardBytes[1] == (byte)0xaa)

                && (idCardBytes[2] == (byte)0xaa)

                && (idCardBytes[3] == (byte)0x96)

                && (idCardBytes[4] == (byte)0x69)) {


            //int totalLen = ((idCardBytes[5] & 0xff) << 8) | (idCardBytes[6] & 0xff);

            int wordMsgBytesLen = ((idCardBytes[10] & 0xff) << 8) | (idCardBytes[11] & 0xff);

            int photoMsgBytesLen = ((idCardBytes[12] & 0xff) << 8) | (idCardBytes[13] & 0xff);


            byte[] wordMsgBytes = new byte[wordMsgBytesLen];

            byte[] photoMsgBytes = new byte[photoMsgBytesLen];


            if (idCardBytes.length == 1295) {   //不帶指紋

                System.arraycopy(idCardBytes, 14, wordMsgBytes, 0, wordMsgBytesLen);

                System.arraycopy(idCardBytes, 14 + wordMsgBytesLen, photoMsgBytes, 0, photoMsgBytesLen);

            }

            else {   //帶指紋

                int fingerprintBytesLen = ((idCardBytes[14] & 0xff) << 8) | (idCardBytes[15] & 0xff);   //指紋長度

                fingerprintBytes = new byte[fingerprintBytesLen];

                System.arraycopy(idCardBytes, 16, wordMsgBytes, 0, wordMsgBytesLen);

                System.arraycopy(idCardBytes, 16 + wordMsgBytesLen, photoMsgBytes, 0, photoMsgBytesLen);

                System.arraycopy(idCardBytes, 16 + wordMsgBytesLen + photoMsgBytesLen, fingerprintBytes, 0, fingerprintBytesLen);

            }


            //判斷身份證的類型是否為港澳臺身份證

            if (wordMsgBytes[248] == 'J') {

                type = ID_TYPE_GAT;

            }

            else if (wordMsgBytes[248] == 'I') {

                type = ID_TYPE_FOREIGN;

            }

            else {

                type = ID_TYPE_CN;

            }


            byte[] bytes;

            String str;

            int index = 0;


            //姓名

            bytes = new byte[30];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                Name = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //性別

            if (wordMsgBytes[30] == 0x31) {

                Sex = "男";

            }

            else {

                Sex = "女";

            }

            index += 2;


            //名族

            if (type == ID_TYPE_CN) {

                bytes = new byte[4];

                System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

                try {

                    str = new String(bytes, "UTF_16LE");

                    if (str.length() == 2) {

                        int nationCode = Integer.valueOf(str, 10);

                        Nation = getNation(nationCode);

                    }

                } catch (Exception e) {

                    e.printStackTrace();

                }

            }

            index += 4;


            //出生

            bytes = new byte[16];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                Born = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //住址

            bytes = new byte[70];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                Address = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //身份證號

            bytes = new byte[36];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                IDCardNo = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //簽發機關

            bytes = new byte[30];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                GrantDept = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //有效起始日期

            bytes = new byte[16];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                UserLifeBegin = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //有效結束日期

            bytes = new byte[16];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                UserLifeEnd = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //港澳臺身份證

            if (type == ID_TYPE_GAT) {

                //通行證號碼

                bytes = new byte[18];

                System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

                index += bytes.length;

                try {

                    passport = new String(bytes, "UTF_16LE");

                } catch (UnsupportedEncodingException e) {

                    e.printStackTrace();

                }


                //簽發次數

                bytes = new byte[4];

                System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

                index += bytes.length;

                try {

                    issueNumber = new String(bytes, "UTF_16LE");

                } catch (UnsupportedEncodingException e) {

                    e.printStackTrace();

                }

            }


            //照片解碼

            if (photoMsgBytesLen > 0) {

                try {

                    byte[] buf=new byte[Wlt2Bitmap.IMG_LENGTH];

                    if (1 == Wlt2Bitmap.wlt2Bmp (photoMsgBytes, buf)) {

                        PhotoBmp = Wlt2Bitmap.Bgr2Bitmap (buf);

                    }

                } catch (Exception e) {

                    e.printStackTrace();

                }

            }

        }

    }


    String getNation(int code){

        switch(code){

            case 01:  return "漢";

            case 02:  return "蒙古";

            case 03:  return "回";

            case 04:  return "藏";

            case 05:  return "維吾爾";

            case 06:  return "苗";

            case 07:  return "彝";

            case 8:   return "壯";

            case 9:   return "布依";

            case 10:  return "朝鮮";

            case 11:  return "滿";

            case 12:  return "侗";

            case 13:  return "瑤";

            case 14:  return "白";

            case 15:  return "土家";

            case 16:  return "哈尼";

            case 17:  return "哈薩克";

            case 18:  return "傣";

            case 19:  return "黎";

            case 20:  return "傈僳";

            case 21:  return "佤";

            case 22:  return "畬";

            case 23:  return "高山";

            case 24:  return "拉祜";

            case 25:  return "水";

            case 26:  return "東鄉";

            case 27:  return "納西";

            case 28:  return "景頗";

            case 29:  return "柯爾克孜";

            case 30:  return "土";

            case 31:  return "達斡爾";

            case 32:  return "仫佬";

            case 33:  return "羌";

            case 34:  return "布朗";

            case 35:  return "撒拉";

            case 36:  return "毛南";

            case 37:  return "仡佬";

            case 38:  return "錫伯";

            case 39:  return "阿昌";

            case 40:  return "普米";

            case 41:  return "塔吉克";

            case 42:  return "怒";

            case 43:  return "烏孜別克";

            case 44:  return "俄羅斯";

            case 45:  return "鄂溫克";

            case 46:  return "德昂";

            case 47:  return "保安";

            case 48:  return "裕固";

            case 49:  return "京";

            case 50:  return "塔塔爾";

            case 51:  return "獨龍";

            case 52:  return "鄂倫春";

            case 53:  return "赫哲";

            case 54:  return "門巴";

            case 55:  return "珞巴";

            case 56:  return "基諾";

            case 97:  return "其他";

            case 98:  return "外國血統中國籍人士";

            default : return "";

        }

    }


    public String toString() {

        if (type == ID_TYPE_GAT) {

            return "\r\n姓        名:" + Name

                    + "\r\n性        別:" + Sex

                    + "\r\n出生日期:" + Born

                    + "\r\n住        址:" + Address

                    + "\r\n身份 證號:" + IDCardNo

                    + "\r\n簽發 機關:" + GrantDept

                    + "\r\n有  效  期:" + UserLifeBegin + "-" + UserLifeEnd

                    + "\r\n通行 證號:" + passport

                    + "\r\n簽發 次數:" + issueNumber;

        }

        else {

            return "\r\n姓        名:" + Name

                    + "\r\n性        別:" + Sex

                    + "\r\n名        族:" + Nation

                    + "\r\n出生日期:" + Born

                    + "\r\n住        址:" + Address

                    + "\r\n身份 證號:" + IDCardNo

                    + "\r\n簽發 機關:" + GrantDept

                    + "\r\n有  效  期:" + UserLifeBegin + "-" + UserLifeEnd;

        }

    }

}






(*由于產品升級或其他原因,明創IDR-100YB云解碼藍牙身份證閱讀器Android開發包產品實際參數有可能變更,以實際產品為準。本文中的所有陳述、信息和建議也不構成任何明示或暗示的擔保)

主站蜘蛛池模板: 欧美日韩八区| 日韩免费一级片| 久久手机视频| 五月婷婷六月色| 亚洲情综合五月天| 人乳奶水系列av| 久久亚洲精少妇毛片午夜无码| 超碰最新网址| 中文字幕第315页| 美国一级特黄| 波多野吉衣视频在线观看| 国产亚洲高清视频| 欧美精品在线一区二区三区| 成人夜间视频| 久久久a级片| 成人春色影视| 人妖性做爰aaaa| 日韩精品国产AV| 91快射| 琪琪色视频| 日韩精品tv| 日本最新一区二区| www.jizzcom| 日韩在线观看一区二区| 日本伦理片在线播放| 99精品视频在线免费观看| 法国极品成人h版| 亚洲天堂在线电影| 18岁成人在线观看| 亚洲综合精品国产一区二区三区| 日本中文字幕在线观看| 国产精品视频全国免费观看| 久久婷婷色| 国产黄色在线播放| 在线中文字幕不卡| 羞羞软件| 九九热这里只有| 99热亚洲精品| 丁香啪啪综合成人亚洲| 日韩一区网站| 国产福利视频网站| 中文字幕在线免费| 欧美精品videos另类日本| 99精品免费| 小嫩嫩12欧美| 亚洲第三十七页| 91成人在线视频| 日韩一区二区三区在线| 男女爱爱视频网址| 国产绿帽一区二区三区| 婷婷玖玖| 国产成人精品视频在线观看| 综合久久精品| 美女黄色真播| 日本黄色三级| 香蕉色视频| 黄视频在线播放| va电影| 欧洲黄视频| 午夜影院毛片| 久久激| 亚洲女人毛茸茸| 亚洲精品理论电影| 波多野结衣无码久久| 亚洲高清精品视频| a∨视频| 91av视频在线观看| 免费视频91蜜桃| 青青草狠狠爱| 香蕉av一区二区| av55 | 免费高清av在线看| 不卡av免费| 亚洲自拍中文字幕| 中文字幕在线看片| gay男互凵gay男同偷精| 亚洲香蕉精品| 欧美日韩一区电影| 亚洲成人日韩| 综合激情av| 性插视频在线观看| 日本少妇毛茸茸| 天天做天天干| 九七视频在线| 一道本一二三区| 在线观看 中文字幕| 欧美特级aaa| 三级国产网站| 欧美日a| 伊人狠狠干| sm捆绑调教视频| 国产激情视频| 插吧插吧综合网| 精品一区二区三区蜜桃| 特级毛片aaa| 久草视频福利在线| 中国小鲜肉xvideoscom| 日b视频免费| 香蕉视频三级| 亚洲gay视频| 男男啪啪网站| 久久黄视频| 性猛交富婆╳xxx乱大交麻豆| 26uuu国产| 香蕉视频在线免费| 在线色综合| 午夜宅男网| 污网站在线免费| 欧美亚洲第一页| 亚洲欧洲日本一区二区三区| 日韩在线专区| 日韩国产片| 三级乱淫狂欲爱慈禧| 非洲一级黄色片| 国产情侣免费视频| 国产极品网站| 少妇富婆一区二区三区夜夜| 日韩av在线免费观看| 啪啪免费小视频| 91视频综合| 国产女同无遮挡互慰高潮91| 色婷婷av一区二区三| 欧洲日韩av| 亚洲av无码一区二区乱子伦| 亚洲精品国偷拍自产在线观看蜜桃| 成人av电影天堂| 国产精品福利久久电影| 免费在线观看黄| 成人三级影院| 久色电影| 国产日韩av在线播放| 在线播放的av| 亚洲aa| 久久小草| 久久无码av一区二区三区电影网| 成人wwxx免费观看| 日本老妇高潮乱hd| 91极品身材尤物theporn| av乱码| 黄色免费的视频| 少妇紧身牛仔裤裤啪啪| freesex性hd公交车上| 日本一级视频| 九九久久精品视频| 久爱天堂| 一级片免费视频| 特级黄色av| 午夜精品久久久内射近拍高清| 91在线免费视频| 日韩经典在线| 久久激情综合| 欧美性久久久久| 欧美黑人精品一区二区不卡| 91午夜免费视频| 淫欲av| 国产精品久久久久高潮| 中文字幕美女| 日韩精品成人在线观看| 超碰1000| 韩国毛片在线| 亚洲欧美在线播放| 天天爱天天干天天| 四虎一区二区三区| 欧美爱爱网址| 日本特黄特黄刺激大片| 综合久久综合久久| 国产一级美女| 男女激情网| 国模福利视频| av资源导航| 成人免费av片| 香蕉视频黄色在线观看| 女人扒开屁股爽桶30分钟| 欧美三级免费观看| 女性女同性aⅴ免费观女性恋| 吸咬奶头狂揉60分钟视频| 用力别停受不了了王总| 国产高清av| 欧洲妇女成人淫片aaa视频| 国产乱在线| 超碰人人插| 91中文字幕永久在线| 经典一区二区| 91精彩刺激对白露脸偷拍| 91日本在线视频| 欧美日韩国产成人精品| 欧美一级二级三级视频| 九九九久久久精品| 最新日韩欧美| 好骚综合av| 国产黄色美女视频| 入禽太深免费视频| h网站观看| 国产成人黄色| 午夜精品久久久久久久99热浪潮| 国产在线视频你懂得| 色校园| 国产一区二区三区视频| 黄色最新网址| 亚洲午夜精品久久久久久人妖| 国产欧美一区二区三区视频在线观看| 日本激情一区| 老司机福利av| 国产精品无码专区av在线播放| 成人在线播放网站| 熟妇高潮一区二区麻豆av| 99视频免费在线观看| 四虎国产精品成人免费入口| 女女同性被吸乳羞羞| 视频一区三区| 日韩黄色一区| 鲁一鲁色一色| 日韩性免费视频| 91网页版| 全部免费的毛片在线看| 国产精品第12页| 天天干夜夜欢| 四色成人网| 成人午夜影片| av桃色| 青青久久久| 中国黄色免费看| 九九人人| 欧美自拍偷拍一区二区| 亚洲v在线| 亚洲国产一区二区在线观看| 中文字幕在线导航| 极品av在线| 麻豆高清免费国产一区| 欧美一级色图| 尤物视频网站在线观看| 国产小视频免费观看| 99热69| 亚州av色图| 天堂视频在线观看免费| 午夜污| 性欧美1819性猛交| 在线18| 久操五月天| 日韩一区二区三区不卡| 蜜臀av中文字幕| 在线蜜桃视频| 亚洲天堂小说| 男女爆操视频| 成人av免费在线播放| 可以免费看毛片的网站| 超碰666| 俺啪也| 亚洲m码 欧洲s码sss222| 日本一二三视频| 一区二区三区免费观看| 欧美在线免费看| 亚洲啊v| 日韩视频精品| 免费伊人| 先锋影音国产精品| 欧美不卡三区| av片一区二区| 狠狠操网站| a天堂资源在线观看| 日本不卡高字幕在线2019| 免费成人蒂法网站| 日产亚洲一区二区三区| 亚洲xx在线| 日本一级黄色| 午夜一区二区国产好的精华液| 日韩精品久久一区| 九九av| 欧美天堂一区二区| 狠狠色图| 黄色国产精品| 欧美成人一区二区三区片免费| 久久精品电影网| 黄色精品视频| 波多野结衣中文字幕一区二区三区| 国产黑丝91| 99久久精品免费视频| 丁香伊人| 午夜小视频在线| 日韩国产传媒| 五月婷婷六月综合| 美女网站免费观看| 亚洲日本韩国在线| 香蕉在线视频播放| 欧美激情18p| 久久波多野吉衣| 巨物撞击尤物少妇呻吟| 日日插夜夜爽| 美女网站黄页| 国产高清免费视频| 黑人vs亚洲人在线播放| 在线视频日韩欧美| 日韩久久一级片| 欧美一级一区二区| 国产剧情精品视频| 一区在线电影| 国产大学生视频| 亚洲色片网站| 中文字幕av影院| 伊人加勒比| 一本一道波多野结衣av黑人| 最新免费av网址| 三级黄色图片| 日韩乱码av| 国产伦精品一区二区三区免费视频| 一级看片| 你懂的国产在线观看| 国产成人天天爽高清视频| 天堂av免费| 自拍1页| 色欲av永久无码精品无码蜜桃| 亚洲欧美一二三| 国产性在线| 国产一级片黄色| 欧美专区第二页| 日韩中文字幕一区| 国产亚洲av在线| 91看毛片| 亚洲宗人网| 亚洲在线视频观看| 一区二区三区日韩电影| 精品999久久久| 天天操天天拍| 伊人激情影院| 激情四射网站| 新香蕉视频| 久久久精品人妻av一区二区三区| 黑丝一区| 激情五月av| 国产无码精品在线观看| 91蝌蚪视频在线观看| 新久久久| 日韩av片在线| 日本大片免费观看| 国产精品久久久久不卡| 国产视频99| 久久黄色一级片| 久久婷婷av| 狠狠的爱| 毛片88| 日韩欧美一二区| 成人国产毛片| 中文字幕在线观看二区| 亚洲av无码电影在线播放| 91在线日本| 国产91白丝在一线播放| 玉女心经 在线| 久久九| 欧美日本一区二区三区| 久久精品国产亚洲av香蕉| 青青草视频97| 免费不卡的av| 国产高清免费视频| 国产一级久久| 手机永久免费av在线播放| 26uuu亚洲国产精品| 久久中文字幕电影| 国产每日更新| 亚洲天堂网络| 国产成人自拍网| 嫩草精品一区二区三区| 青青在线观看视频| 狠狠激情| 91免费观看网站| 男生舔女生的屁股| 久久久精品一区二区| 欧美国产片| 国产国语对白| 天堂爱情岛论坛亚洲福利在线看| www亚洲视频| 欧美日韩1234| 中文在线观看高清视频| 九九天堂| a级特级毛片| 日韩午夜网| 国产高清第一页| 欧美性xxxxxxxxx| 好吊色网站| 99久99| 国产激情在线| 欧美伦理一区二区| 福利视频网站| 亚洲三级大片| 午夜婷婷| 久久性生活片| 精品一区二区av| 久久中文字幕免费视频| 国产这里有精品| 能在线观看的av网站| 91香蕉在线看| 国产成人精品午夜福利Av免费| 色偷偷一区二区三区| 娇小的粉嫩xxx极品| 懂色av蜜臀av粉嫩av分享| 欧美另类xxx| 91精品麻豆日日躁夜夜躁| 亚洲视频精品| 国产91大片| 网爆门在线| 亚洲v在线| 制服丝袜在线播放| 91秒拍福利视频| 91美女视频| 跪求黄色网址| 精品综合在线| 狠狠干五月| 免费毛片黄片| 亚洲欧美日韩国产一区二区| 五月天国产精品| 国内偷拍久久| 精品中文av| 久久av免费看| 日本三级片在线观看| 亚洲黄片一区| 久久99久| 日本一区免费| 全国最大色| 先锋av在线资源| 一区二区导航| 欧美永久视频| 欧美亚洲午夜| 亚洲第一色视频| 美国一区二区三区| 婷婷欧美综合| 日韩av高清不卡在线| 不卡视频在线观看免费| 在线能看的av| 韩国一区二区三区在线观看| 欧美a网| 国产剧情久久| 夜夜天天| 国产网友自拍视频| www.com色| 日韩射| 欧美一级激情| 国产xxxx成人精品免费视频频| 欧美xx孕妇| 日韩欧美xxxx| 欧美福利在线观看| 黑森林av| 国产一区二区精彩视频| 国产精品一区二区免费看| 四川少妇wbbbb搡bbbb磉bbbb| 岛国av中文字幕| 少妇aaaaa| 中日韩在线| 日韩无码电影| 秋霞网一区二区三区| 久久男人的天堂| 亚洲欧洲第一页| 国产特级aaaaaa大片| 国产精品无码久久久久一区二区| 男人午夜视频| 午夜免费体验区| 日韩成人在线免费观看| 玖玖在线观看视频| juliaann顶级艳妇交| 催眠调教后宫乱淫校园| 99久久香蕉| 99久久精品免费看国产交换| 无码国产精品高潮久久99| av不卡免费观看| 九九久久九九久久| 羞羞动态图| 天天摸日日操| 中国老妇性视频| 99资源网| 亚洲一级影片| 99精品久久久久久久婷婷| 亚洲一级特黄| 色婷视频| 日本少妇喷水| 中国女人毛片| 69综合| 日韩不卡免费视频| 国产精品久久久久久av| 黄色小说网站在线观看| 91久久精品一区二区三区| 欧美另类极品videosbest最新版本| 成人欧美一区二区三区视频网页| 亚洲日本精品一区| 天堂av资源在线| 99国产精品国产免费观看| 午夜中文字幕| 天天av网| 久久久精品中文字幕| 亚洲系列第一页| 在线观看一区二区视频| 91看片黄色| 男女激情在线观看| 97超视频| 国产免费美女| 波多一区| 麻豆传煤在线观看| 国产福利在线免费观看| 国产91精| 婷婷色国产| 一区二区成人av| 黄色成人av| 成人性生交大片免费看| 在线看va|