If you use the Auth package, it will do it for you when you call Auth::create_user(). If you don't, the method depends how your own code is setup.
In general you either use a per-table salt or a per-user salt. If you use a per-user salt, you need to store it somewhere. Most people store it with the user (in the same table) which I find rather pointless since when they have access to the user table with the hash, they will have the salt too.
You might debate that they don't know the algoritm used, but the choices are limited, and in the case of Fuel the code is public, so all you have to do is look.
To create the hash, use something that is secure, like bcrypt, or pkbdf2 (which is what Auth is using).
how work with addition profile field in the user table do i need to add coloum in the table or in the coloum it self can u provide with some example regarding this i need to add addition profile field like : Circle and Mobile_no
it work ? next issue is that i also have admin panel for which i want to create a different table i.e admin_user table for such type can i create a different instance all together, can u user two auth one for user and another for admin
You can use a different config by forging the Auth instance manually, and pass a custom config to it (that for example has a different table name).
Note that when you access any Auth method statically (like Auth::check()), and you haven't forged an instance, the default instance will be forged automatically. So make sure you create your custom config instance BEFORE you use any Auth call!