set password as post_id

hi, iam creat function to get post id
/////////////////////////////////////////////////////////
function get_post_id( $slug, $post_type ) {
$query = new WP_Query(
array(
'name' => $slug,
'post_type' => $post_type
)
);

$query->the_post();

return get_the_ID();
}
add_shortcode('postid', 'get_post_id');
/////////////////////////////////////////////////////////
and set password:
////////////////////////////////////////////////////////
[protect password="[postid]"]

[/protect]
///////////////////////////////////////////////////////////
but not work?