由于代码管理混乱,造成数据库表中一些记录的某个字段的值已被sun.misc.BASE64Encoder加密,而有些记录的这个字段的值没被加密,所以我从数据库读取该字段的值的时候不能一味的使用sun.misc.BASE64Decoder去解密,如果处理的字符串是没有加密过的,一旦解密,解出来就是乱码了。
现在需要判断处理的字符串是否已被加密,如果已被加密,就不进行解密处理了,求高人指教,多谢。

解决方案 »

  1.   

    技术上无法判断,如果有一个原文就是某个base64编码后那种格式的怎么办?需要根据你的系统的那个字段的值的具体情况,找出你的原文和密文的不同点
      

  2.   

    是啊,很难判断,虽然说 Base64 采用 64 个字符来表示,但是也不能排除原文中也正好采用的是这 64 个字符。
      

  3.   

    最简单的方法就是看数据库查询出的值一个个的做
    base64编码的用base64解码,没有的直接做
    用代码来判断是不行的,数据库的值是活的,代码是死的