【问题标题】:Decrypt unicode text from DB从数据库中解密 unicode 文本
【发布时间】:2012-10-12 22:11:04
【问题描述】:

当我尝试将加密的“密码文本”保存到 SQL Server 2008r2 数据库时遇到问题。当我从 java-Netbeans 保存时,sql 收到“?????”在文本字段上,我发现这是因为或 unicode ...我正在使用 BLOWFISH 加密(该类工作完美)但我无法解密它,因为我从 DB “????”文本而不是原始文本(密码)

你知道我该如何解决这个问题吗?一位朋友告诉我在 DB 上使用“varbinary”而不是“varchar”,但不知道该怎么做:S

谢谢

public boolean SavetoDB() {
    DATABASE_CONNECTION con = new DATABASE_CONNECTION();
    cn = con.conectar();

    boolean resp = false;
    try {
        String sql = "INSERT INTO cliente(usuario, pass, Nombre, Apellido, Edad,"
                + "genero, Direccion, Telefono, Celular, img_name,tipo_cuenta, ipaddress, puerto,segundos,minutos,horas)"
                + " VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?,?,?,?,?)";
        PreparedStatement cmd = cn.prepareStatement(sql);
        cmd.setString(1, usuario);
        cmd.setString(2, pass);
        cmd.setString(3, Nombre);
        cmd.setString(4, Apellido);
        cmd.setInt(5, Edad);
        cmd.setString(6, genero);
        cmd.setString(7, Direccion);
        cmd.setInt(8, Telefono);
        cmd.setInt(9, Celular);
        cmd.setString(10, nombrearch);
        cmd.setString(11, tipo_cuenta);
        cmd.setString(12, ip);
        cmd.setString(13, puerto);
        cmd.setInt(14, 1);
        cmd.setInt(15, 0);
        cmd.setInt(16, 0);
        ////////////////////////////////////////////////////////
        ///////////////////////////////////////////////////////


        if (!cmd.execute()) {
            resp = true;
        }
        cmd.close();
        cn.close();
    } catch (Exception ex) {
        System.out.println("Error: " + ex.getMessage());
    }
    return resp;
}

SQL 表:

创建表客户端(

usuario varchar(15) not null 主键,

传递 varchar(90) 不为空,

名词 varchar(32) 不为空,

Apellido varchar(32) 不为空,

Edad int 不为空,

genero varchar(15) 不为空,

方向 varchar(32),

电话号码,

单元格整数,

img_name varchar(32) 不为空,

tipo_cuenta varchar(15) 不为空,

fecha_creacion 日期,

ipaddress varchar(20) 不为空,

puerto varchar (30) 不为空,

segundos int not null,

minutos int 不为空,

horas int not null,

)

【问题讨论】:

  • 显示一些代码,显示您的保存和接收过程。

标签: java


【解决方案1】:

尝试在数据库中保存密码文本字节的 md5/sha 摘要。当需要检查密码时,计算输入密码的摘要,并与数据库中的进行比较。

【讨论】:

    猜你喜欢
    • 2013-04-10
    • 2016-10-01
    • 2017-04-29
    • 1970-01-01
    • 2017-04-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多