Tengo una clave de contraseña para un cifrado AES, y necesito almacenar en una base de datos de Oracle columna. La contraseña se genera como una matriz de bytes de Java, y por lo tanto tengo que averiguar la mejor manera de convertirlo en un tipo de datos de Oracle entiende y viceversa.

InformationsquelleAutor | 2012-04-12

3 Comentarios

  1. 8

    Suponiendo que la matriz de bytes de Java tiene menos de 4000 elementos, se pueden almacenar en un RAW columna en Oracle. Esto le dice a Oracle que los datos binarios por lo que no siempre un intento de hacer la conversión de conjuntos de caracteres. Y es la menos cantidad de sobrecarga (tanto en términos de almacenamiento y en términos de la complejidad de trabajar con los datos).

    Si la matriz de bytes que puede tener más de 4000 elementos, se pueden almacenar en un BLOB columna.

    • Pensé RAW fue despreciado en favor de BLOB?
    • y LONG RAW son depricated en favor de CLOB y BLOB. Pero un buen RAW(500) columna es perfectamente apropiado para almacenar 500 bytes de datos binarios.
    • Esta solución funcionó muy bien. Gracias!
    • Es el almacenamiento de las matrices de bytes como un BLOB o RAW es la mejor forma para almacenar matrices de bytes en el 2019? O es que hay otro tipo de tienda como?
    • Sí. Si usted tiene datos binarios, usted todavía desea utilizar un RAW o un BLOB.
    • gracias impresionante! Acabo de probar y pueden escribir las matrices de bytes como materia prima a la DB y se puede leer perfectamente de la base de datos así.

  2. 4

    El uso de una columna BLOB y un PreparedStatement:

    CREATE TABLE pwd_table (id integer primary key, pwd blob);

    A continuación, en el código Java:

    byte[] data = ... //obtain the byte array
    PreparedStatement pstmt = connection.prepareStatement(
       "insert into pwd_table (id, pwd) values (?, ?)");
    pstmt.setInt(1, 42);
    pstmt.setBytes(2, data);
    pstmt.executeUpdate();
    connection.commit();
    • Solo me pregunto, será el pwd ser almacenados como BLOB o CLOB ?
  3. 0

    Definir entender.

    Si va a almacenar la contraseña claves en las bases de datos que quieres replantearte eso. Sin embargo, usted tiene un par de opciones de desvío.

    1. Convertir la matriz de bytes en un UU Codificados en ASCII de la Cadena, a continuación, la tienda que en un campo de tipo VARCHAR.
    2. Almacenar la matriz de bytes en un CLOB o BLOB.
    • En realidad es muy seguro. Las claves son generadas al azar por cadena cifrada, y se salan con un único sistema de propiedad. También utilizamos las iteraciones durante el cifrado para prevenir el arco iris de la tabla de ataques.

Dejar respuesta

Please enter your comment!
Please enter your name here