<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://mailnest.com/dbawiki/index.php?action=history&amp;feed=atom&amp;title=User_Profiles</id>
		<title>User Profiles - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://mailnest.com/dbawiki/index.php?action=history&amp;feed=atom&amp;title=User_Profiles"/>
		<link rel="alternate" type="text/html" href="https://mailnest.com/dbawiki/index.php?title=User_Profiles&amp;action=history"/>
		<updated>2026-04-05T02:04:32Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.29.3</generator>

	<entry>
		<id>https://mailnest.com/dbawiki/index.php?title=User_Profiles&amp;diff=382&amp;oldid=prev</id>
		<title>Stuart at 10:06, 28 January 2013</title>
		<link rel="alternate" type="text/html" href="https://mailnest.com/dbawiki/index.php?title=User_Profiles&amp;diff=382&amp;oldid=prev"/>
				<updated>2013-01-28T10:06:51Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&#039;diff-marker&#039; /&gt;
				&lt;col class=&#039;diff-content&#039; /&gt;
				&lt;col class=&#039;diff-marker&#039; /&gt;
				&lt;col class=&#039;diff-content&#039; /&gt;
				&lt;tr style=&#039;vertical-align: top;&#039; lang=&#039;en&#039;&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 10:06, 28 January 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Password verification function for user profile===&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Password verification function for user profile===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FUNCTION &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;verify_function_11g_distrigas&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FUNCTION &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;verify_function_11g&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;(username varchar2,&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;(username varchar2,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; password varchar2,&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; password varchar2,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Stuart</name></author>	</entry>

	<entry>
		<id>https://mailnest.com/dbawiki/index.php?title=User_Profiles&amp;diff=381&amp;oldid=prev</id>
		<title>Stuart at 10:06, 28 January 2013</title>
		<link rel="alternate" type="text/html" href="https://mailnest.com/dbawiki/index.php?title=User_Profiles&amp;diff=381&amp;oldid=prev"/>
				<updated>2013-01-28T10:06:19Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&#039;diff-marker&#039; /&gt;
				&lt;col class=&#039;diff-content&#039; /&gt;
				&lt;col class=&#039;diff-marker&#039; /&gt;
				&lt;col class=&#039;diff-content&#039; /&gt;
				&lt;tr style=&#039;vertical-align: top;&#039; lang=&#039;en&#039;&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&#039;2&#039; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 10:06, 28 January 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===Password verification function for user profile===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FUNCTION verify_function_11g_distrigas&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FUNCTION verify_function_11g_distrigas&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Stuart</name></author>	</entry>

	<entry>
		<id>https://mailnest.com/dbawiki/index.php?title=User_Profiles&amp;diff=379&amp;oldid=prev</id>
		<title>Stuart: Created page with &quot;&lt;pre&gt; FUNCTION verify_function_11g_distrigas (username varchar2,   password varchar2,   old_password varchar2)   RETURN boolean IS    n boolean;    m integer;    differ intege...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mailnest.com/dbawiki/index.php?title=User_Profiles&amp;diff=379&amp;oldid=prev"/>
				<updated>2013-01-28T10:05:40Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;pre&amp;gt; FUNCTION verify_function_11g_distrigas (username varchar2,   password varchar2,   old_password varchar2)   RETURN boolean IS    n boolean;    m integer;    differ intege...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
FUNCTION verify_function_11g_distrigas&lt;br /&gt;
(username varchar2,&lt;br /&gt;
  password varchar2,&lt;br /&gt;
  old_password varchar2)&lt;br /&gt;
  RETURN boolean IS&lt;br /&gt;
   n boolean;&lt;br /&gt;
   m integer;&lt;br /&gt;
   differ integer;&lt;br /&gt;
   isdigit boolean;&lt;br /&gt;
   ischar  boolean;&lt;br /&gt;
   ispunct boolean;&lt;br /&gt;
   db_name varchar2(40);&lt;br /&gt;
   digitarray varchar2(20);&lt;br /&gt;
   punctarray varchar2(25);&lt;br /&gt;
   chararray varchar2(52);&lt;br /&gt;
   i_char varchar2(10);&lt;br /&gt;
   simple_password varchar2(10);&lt;br /&gt;
   reverse_user varchar2(32);&lt;br /&gt;
&lt;br /&gt;
BEGIN&lt;br /&gt;
   digitarray:= &amp;#039;0123456789&amp;#039;;&lt;br /&gt;
   chararray:= &amp;#039;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;#039;;&lt;br /&gt;
   punctarray:=&amp;#039;!&amp;quot;#$%&amp;amp;()``*+,-/:;&amp;lt;=&amp;gt;?_&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
   -- Check for the minimum length of the password&lt;br /&gt;
   IF length(password) &amp;lt; 8 THEN&lt;br /&gt;
      raise_application_error(-20001, &amp;#039;Password length less than 8&amp;#039;);&lt;br /&gt;
   END IF;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   -- Check if the password is same as the username or username(1-100)&lt;br /&gt;
   IF NLS_LOWER(password) = NLS_LOWER(username) THEN&lt;br /&gt;
     raise_application_error(-20002, &amp;#039;Password same as or similar to user&amp;#039;);&lt;br /&gt;
   END IF;&lt;br /&gt;
   FOR i IN 1..100 LOOP&lt;br /&gt;
      i_char := to_char(i);&lt;br /&gt;
      if NLS_LOWER(username)|| i_char = NLS_LOWER(password) THEN&lt;br /&gt;
        raise_application_error(-20005, &amp;#039;Password same as or similar to user name &amp;#039;);&lt;br /&gt;
      END IF;&lt;br /&gt;
    END LOOP;&lt;br /&gt;
&lt;br /&gt;
   -- Check if the password is same as the username reversed&lt;br /&gt;
&lt;br /&gt;
   FOR i in REVERSE 1..length(username) LOOP&lt;br /&gt;
     reverse_user := reverse_user || substr(username, i, 1);&lt;br /&gt;
   END LOOP;&lt;br /&gt;
   IF NLS_LOWER(password) = NLS_LOWER(reverse_user) THEN&lt;br /&gt;
     raise_application_error(-20003, &amp;#039;Password same as username reversed&amp;#039;);&lt;br /&gt;
   END IF;&lt;br /&gt;
&lt;br /&gt;
   -- Check if the password is the same as server name and or servername(1-100)&lt;br /&gt;
   select name into db_name from sys.v$database;&lt;br /&gt;
   if NLS_LOWER(db_name) = NLS_LOWER(password) THEN&lt;br /&gt;
      raise_application_error(-20004, &amp;#039;Password same as or similar to server name&amp;#039;);&lt;br /&gt;
   END IF;&lt;br /&gt;
   FOR i IN 1..100 LOOP&lt;br /&gt;
      i_char := to_char(i);&lt;br /&gt;
      if NLS_LOWER(db_name)|| i_char = NLS_LOWER(password) THEN&lt;br /&gt;
        raise_application_error(-20005, &amp;#039;Password same as or similar to server name &amp;#039;);&lt;br /&gt;
      END IF;&lt;br /&gt;
    END LOOP;&lt;br /&gt;
&lt;br /&gt;
   -- Check if the password is too simple. A dictionary of words may be&lt;br /&gt;
   -- maintained and a check may be made so as not to allow the words&lt;br /&gt;
   -- that are too simple for the password.&lt;br /&gt;
   IF NLS_LOWER(password) IN (&amp;#039;welcome1&amp;#039;, &amp;#039;database1&amp;#039;, &amp;#039;account1&amp;#039;, &amp;#039;user1234&amp;#039;,&lt;br /&gt;
        &amp;#039;password1&amp;#039;, &amp;#039;oracle123&amp;#039;, &amp;#039;computer1&amp;#039;, &amp;#039;abcdefg1&amp;#039;, &amp;#039;change_on_install&amp;#039;) THEN&lt;br /&gt;
      raise_application_error(-20006, &amp;#039;Password too simple&amp;#039;);&lt;br /&gt;
   END IF;&lt;br /&gt;
&lt;br /&gt;
   -- Check if the password is the same as oracle (1-100)&lt;br /&gt;
    simple_password := &amp;#039;oracle&amp;#039;;&lt;br /&gt;
    FOR i IN 1..100 LOOP&lt;br /&gt;
      i_char := to_char(i);&lt;br /&gt;
      if simple_password || i_char = NLS_LOWER(password) THEN&lt;br /&gt;
        raise_application_error(-20007, &amp;#039;Password too simple &amp;#039;);&lt;br /&gt;
      END IF;&lt;br /&gt;
    END LOOP;&lt;br /&gt;
&lt;br /&gt;
   -- Check if the password contains at least one letter, one digit&lt;br /&gt;
   -- 1. Check for the digit&lt;br /&gt;
   isdigit:=FALSE;&lt;br /&gt;
   m := length(password);&lt;br /&gt;
   FOR i IN 1..10 LOOP&lt;br /&gt;
      FOR j IN 1..m LOOP&lt;br /&gt;
         IF substr(password,j,1) = substr(digitarray,i,1) THEN&lt;br /&gt;
            isdigit:=TRUE;&lt;br /&gt;
             GOTO findchar;&lt;br /&gt;
         END IF;&lt;br /&gt;
      END LOOP;&lt;br /&gt;
   END LOOP;&lt;br /&gt;
&lt;br /&gt;
   IF isdigit = FALSE THEN&lt;br /&gt;
      raise_application_error(-20008, &amp;#039;Password must contain at least one digit&amp;#039;);&lt;br /&gt;
   END IF;&lt;br /&gt;
&lt;br /&gt;
   -- 2. Check for the character&lt;br /&gt;
   &amp;lt;&amp;lt;findchar&amp;gt;&amp;gt;&lt;br /&gt;
   ischar:=FALSE;&lt;br /&gt;
   FOR i IN 1..length(chararray) LOOP&lt;br /&gt;
      FOR j IN 1..m LOOP&lt;br /&gt;
         IF substr(password,j,1) = substr(chararray,i,1) THEN&lt;br /&gt;
            ischar:=TRUE;&lt;br /&gt;
             GOTO findpunct;&lt;br /&gt;
         END IF;&lt;br /&gt;
      END LOOP;&lt;br /&gt;
   END LOOP;&lt;br /&gt;
   IF ischar = FALSE THEN&lt;br /&gt;
      raise_application_error(-20009, &amp;#039;Password must contain at least one alphabetic character&amp;#039;);&lt;br /&gt;
   END IF;&lt;br /&gt;
&lt;br /&gt;
   -- 3. Check for the punctuation&lt;br /&gt;
   &amp;lt;&amp;lt;findpunct&amp;gt;&amp;gt;&lt;br /&gt;
   ispunct:=FALSE;&lt;br /&gt;
   FOR i IN 1..length(punctarray) LOOP&lt;br /&gt;
      FOR j IN 1..m LOOP&lt;br /&gt;
         IF substr(password,j,1) = substr(punctarray,i,1) THEN&lt;br /&gt;
            ispunct:=TRUE;&lt;br /&gt;
             GOTO endsearch;&lt;br /&gt;
         END IF;&lt;br /&gt;
      END LOOP;&lt;br /&gt;
   END LOOP;&lt;br /&gt;
   IF ispunct = FALSE THEN&lt;br /&gt;
      raise_application_error(-20010, &amp;#039;Password should contain at least one punctuation&amp;#039;);&lt;br /&gt;
   END IF;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;&amp;lt;endsearch&amp;gt;&amp;gt;&lt;br /&gt;
   -- Check if the password differs from the previous password by at least&lt;br /&gt;
   -- 3 letters&lt;br /&gt;
   IF old_password IS NOT NULL THEN&lt;br /&gt;
     differ := length(old_password) - length(password);&lt;br /&gt;
&lt;br /&gt;
     differ := abs(differ);&lt;br /&gt;
     IF differ &amp;lt; 3 THEN&lt;br /&gt;
       IF length(password) &amp;lt; length(old_password) THEN&lt;br /&gt;
         m := length(password);&lt;br /&gt;
       ELSE&lt;br /&gt;
         m := length(old_password);&lt;br /&gt;
       END IF;&lt;br /&gt;
&lt;br /&gt;
       FOR i IN 1..m LOOP&lt;br /&gt;
         IF substr(password,i,1) != substr(old_password,i,1) THEN&lt;br /&gt;
           differ := differ + 1;&lt;br /&gt;
         END IF;&lt;br /&gt;
       END LOOP;&lt;br /&gt;
&lt;br /&gt;
       IF differ &amp;lt; 1 THEN&lt;br /&gt;
         raise_application_error(-20011, &amp;#039;Password should differ from the \&lt;br /&gt;
            old password by at least 1 characters&amp;#039;);&lt;br /&gt;
       END IF;&lt;br /&gt;
     END IF;&lt;br /&gt;
   END IF;&lt;br /&gt;
   -- Everything is fine; return TRUE ;&lt;br /&gt;
   RETURN(TRUE);&lt;br /&gt;
END;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Stuart</name></author>	</entry>

	</feed>