public byte[] handleChallenge(byte[] challenge, IConnectionFactory factory) { if (factory is ConnectionFactory) { ConnectionFactory cf = factory as ConnectionFactory; return(Encoding.UTF8.GetBytes("\0" + getUserName(cf) + "\0" + AliyunUtils.getPassword(cf.Password))); } else { throw new InvalidCastException("need ConnectionFactory"); } }
private string getUserName(ConnectionFactory cf) { string instanceId; try { string[] sArray = cf.HostName.Split('.'); instanceId = sArray[0]; } catch (Exception e) { throw new InvalidProgramException("hostName invalid"); } Console.WriteLine(instanceId); return(AliyunUtils.getUserName(cf.UserName, instanceId)); }