Microsoft Small Basic

Program Listing: TLQ687
chars[1]="BCDFGHJKLMNPRSTWZ"
chars[2]="AOEIOUY"
chars[3]="1234567890"
order="1=1;2=2;3=1;4=2;5=1;6=2;7=3;8=3"
PassPhrase=""
For l=1 To Array.GetItemCount(order)
i=order[l]
PassPhrase=PassPhrase+Text.GetSubText(chars[i],Math.GetRandomNumber(Text.GetLength(chars[i])),1)
EndFor
GraphicsWindow.FontSize=16
GraphicsWindow.DrawText(100,100,PassPhrase)