--- loncom/lonnet/perl/lonnet.pm	2000/09/25 20:28:54	1.31
+++ loncom/lonnet/perl/lonnet.pm	2000/09/26 20:07:24	1.32
@@ -996,9 +996,31 @@ sub symbread {
 
 # ---------------------------------------------------------- Return random seed
 
+sub numval {
+    my $txt=shift;
+    $txt=~tr/A-J/0-9/;
+    $txt=~tr/a-j/0-9/;
+    $txt=~tr/K-T/0-9/;
+    $txt=~tr/k-t/0-9/;
+    $txt=~tr/U-Z/0-5/;
+    $txt=~tr/u-z/0-5/;
+    $txt=~s/\D//g;
+    return int($txt);
+}    
+
 sub rndseed {
     my $symb;
     unless ($symb=&symbread()) { return ''; }
+    my $symbchck=unpack("%32C*",$symb);
+    my $symbseed=numval($symb)%$symbchck;
+    my $namechck=unpack("%32C*",$ENV{'user.name'});
+    my $nameseed=numval($ENV{'user.name'})%$namechck;
+    return int( $symbseed
+	       .$nameseed
+               .unpack("%32C*",$ENV{'user.domain'})
+               .unpack("%32C*",$ENV{'request.course.uri'})
+               .$namechck
+               .$symbchck);
 }
 
 # ------------------------------------------------------------- Declutters URLs