July 10, 2006 KRB5_STRING_TO_KEY 3

### NAME

krb5_string_to_key, krb5_string_to_key_data, krb5_string_to_key_data_salt, krb5_string_to_key_data_salt_opaque, krb5_string_to_key_salt, krb5_string_to_key_salt_opaque, krb5_get_pw_salt, krb5_free_salt - turns a string to a Kerberos key

### LIBRARY

Kerberos 5 Library (libkrb5, -lkrb5)

### SYNOPSIS

```krb5_error_code` krb5_string_to_key(`` ```krb5_context context` ```krb5_enctype enctype` ```const char *password` ```krb5_principal principal` ```krb5_keyblock *key` )
```krb5_error_code` krb5_string_to_key_data(`` ```krb5_context context` ```krb5_enctype enctype` ```krb5_data password` ```krb5_principal principal` ```krb5_keyblock *key` )
```krb5_error_code` krb5_string_to_key_data_salt(`` ```krb5_context context` ```krb5_enctype enctype` ```krb5_data password` ```krb5_salt salt` ```krb5_keyblock *key` )
```krb5_error_code` krb5_string_to_key_data_salt_opaque(`` ```krb5_context context` ```krb5_enctype enctype` ```krb5_data password` ```krb5_salt salt` ```krb5_data opaque` ```krb5_keyblock *key` )
```krb5_error_code` krb5_string_to_key_salt(`` ```krb5_context context` ```krb5_enctype enctype` ```const char *password` ```krb5_salt salt` ```krb5_keyblock *key` )
```krb5_error_code` krb5_string_to_key_salt_opaque(`` ```krb5_context context` ```krb5_enctype enctype` ```const char *password` ```krb5_salt salt` ```krb5_data opaque` ```krb5_keyblock *key` )
```krb5_error_code` krb5_get_pw_salt(`` ```krb5_context context` ```krb5_const_principal principal` ```krb5_salt *salt` )
```krb5_error_code` krb5_free_salt(`` ```krb5_context context` ```krb5_salt salt` )

### DESCRIPTION

The string to key functions convert a string to a kerberos key.

krb5_string_to_key_data_salt_opaque(``) is the function that does all the work, the rest of the functions are just wrapers around krb5_string_to_key_data_salt_opaque(``) that calls it with default values.

krb5_string_to_key_data_salt_opaque(``) transforms the ```password` with the given salt-string ```salt` and the opaque, encryption type specific parameter ```opaque` to a encryption key ```key` according to the string to key function associated with ```enctype`.

The ```key` should be freed with krb5_free_keyblock_contents(``).

If one of the functions that doesn't take a ```krb5_salt` as it argument krb5_get_pw_salt(``) is used to get the salt value.

krb5_get_pw_salt(``) get the default password salt for a principal, use krb5_free_salt(``) to free the salt when done.

krb5_free_salt(``) frees the content of ```salt`.

### SEE ALSO

krb5(3), krb5_data(3), krb5_keyblock(3), kerberos(8)