2012年6月7日木曜日

開発メモ7セキュリティ~パッケージ内のファイルをバイト配列にする


内部リソースを外部に見せないためには、
予め暗号化したファイルを端末内部で復号して使用する

//パッケージ内のファイル→バイトデータ
    public  byte[] fileToByte(String fileName) //クラスと同じパッケージならファイル名のみで可
        throws Exception {
        int size;
        byte[] byteAry=new byte[1024];
        InputStream fin=null;
        ByteArrayOutputStream out=null;
        try {
            fin= getClass().getResourceAsStream(fileName);//内部リソースを取得
            out=new ByteArrayOutputStream();
            while (true) {
                size=fin.read(byteAry);
                if (size<=0) break;
                out.write(byteAry,0,size);
            }
            fin.close();
            out.close();
            return out.toByteArray();
        } catch (Exception e) {
            try {
                if (fin!=null) fin.close();
                if (out!=null) out.close();
            } catch (Exception ee) {
            }
            throw e;
        }
    }

0 件のコメント:

コメントを投稿