added a comment - - edited
XDCR does not keep and maintain password of remote clusters, and XDCR should not do that. All authentication info XDCR using is from vbucket map, which is returned from remote_cluster_info, fetching vbucket map from remote node.
The issue here is that in vbucket map retrieved from remote node, the password is transformed from "123#123" to "123%23123" due to escaping.
[xdcr:debug,2012-10-09T15:11:36.705,
n_0@127.0.0.1:<0.1853.0>:xdc_vbucket_rep:init_replication_state:342]xdcr-junyi: RemoteBucket: {remote_bucket,
<<"7efa38c558ed81858d690c47577a1c9c">>,
<<"bf353b193ba8bd056b44e12a532bdc72">>,
{dict,64,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[]},
{{[[0,
<<"
http://Administrator:123%23123@127.0.0.1:9501/default%2f0%3b7efa38c558ed81858d690c47577a1c9c">>],
[16,
<<"
http://Administrator:123%23123@127.0.0.1:9501/default%2f16%3b7efa38c558ed81858d690c47577a1c9c">>],
[32,
<<"
http://Administrator:123%23123@127.0.0.1:9501/default%2f32%3b7efa38c558ed81858d690c47577a1c9c">>],
[48,
<<"
http://Administrator:123%23123@127.0.0.1:9501/default%2f48%3b7efa38c558ed81858d690c47577a1c9c">>]],
ns_server vbucket map builder, or remote_cluster_info should make sure password is correct, which can be used by XDCR.