+fs = require 'fs'
+crypto = require 'crypto'
+
+md5 = (str) ->
+ sum = crypto.createHash 'md5'
+ sum.update str
+ return sum.digest 'hex'
+
+new_auth_token = (user, pass) -> md5(user + md5(pass))
+
+save_auth = (user, pass, callback) ->
+ token = new_auth_token(user, pass)
+ text = JSON.stringify user: user, token: new_auth_token(user, pass)
+ fs.writeFile "#{process.env.HOME}/.libre.fm-cmus.auth", text, 'utf8', callback
+ return token
+
+exports.new_auth_token = new_auth_token
+exports.save_auth = save_auth