DBA Data[Home] [Help]

APPS.FND_RANDOM_NUMBER dependencies on UTL_RAW

Line 66: UTL_RAW.CAST_TO_RAW(to_char(SYSDATE, 'YYYYMMDD HH24MISS')||' '||

62: -- select SYS_GUID() into X_E1 from dual;
63: -- replacing with the line below for bug 4082303
64: X_E1 := SYS_GUID();
65: X_E2 := DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
66: UTL_RAW.CAST_TO_RAW(to_char(SYSDATE, 'YYYYMMDD HH24MISS')||' '||
67: USERENV('SESSIONID')));
68: X_E3 := hextoraw(to_char(DBMS_RANDOM.RANDOM+power(2,31),'FM0XXXXXXX')||
69: to_char(DBMS_RANDOM.RANDOM+power(2,31),'FM0XXXXXXX')||
70: to_char(DBMS_RANDOM.RANDOM+power(2,31),'FM0XXXXXXX')||

Line 77: return(UTL_RAW.CONCAT(X_E1, X_E2, X_E3, X_E4, P_OLDVALUE));

73: X_E4 := DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT => P_ENTROPY);
74: else
75: X_E4 := hextoraw('0123456789ABCDEF0123456789ABCDEF');
76: end if;
77: return(UTL_RAW.CONCAT(X_E1, X_E2, X_E3, X_E4, P_OLDVALUE));
78: end GENERATE_ENTROPY;
79:
80: --
81: -- Add some entropy to the in-memory pools. Entropy is added in

Line 104: UTL_RAW.CONCAT(GENERATE_ENTROPY(P_ENTROPY,

100: end if;
101: X_INDEX := mod(M_EVENTS, 32) + 1;
102: M_EVENTS := M_EVENTS + 1;
103: M_POOLS(X_INDEX) := DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
104: UTL_RAW.CONCAT(GENERATE_ENTROPY(P_ENTROPY,
105: M_POOLS(X_INDEX))));
106: if (M_EVENTS >= C_FLUSH_SIZE) then
107: FLUSH_ENTROPY;
108: end if;

Line 151: UTL_RAW.CONCAT(X_POOL(X_COUNT),M_POOLS(X_COUNT)));

147: -- Merge as much entropy as available into the pools
148: for X_COUNT in 1..32 loop
149: if (M_POOLS(X_COUNT) is not null) then
150: X_POOL(X_COUNT) := DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
151: UTL_RAW.CONCAT(X_POOL(X_COUNT),M_POOLS(X_COUNT)));
152: M_POOLS(X_COUNT) := null;
153: end if;
154: end loop;
155: -- Update the pools and event counter

Line 248: X_ENTROPY := UTL_RAW.CONCAT(X_ENTROPY, X_POOL(X_BIT + 1));

244: for X_BIT in 0..31 loop
245: if (mod(X_COUNTER, power(2, X_BIT)) = 0) then
246: -- Use this pool for the reseed operation
247: if (X_POOL(X_BIT + 1) is not null) then
248: X_ENTROPY := UTL_RAW.CONCAT(X_ENTROPY, X_POOL(X_BIT + 1));
249: X_POOL(X_BIT + 1) := null;
250: end if;
251: end if;
252: end loop;

Line 258: X_KEY := UTL_RAW.CONCAT(

254: -- Insufficient entropy available, abort the reseeding
255: return;
256: end if;
257: -- Recompute the key by taking the MD5 of the old key plus the entropy.
258: X_KEY := UTL_RAW.CONCAT(
259: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
260: UTL_RAW.CONCAT(hextoraw('1'), X_KEY, X_ENTROPY)), 1, 12),
261: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
262: UTL_RAW.CONCAT(hextoraw('2'), X_KEY, X_ENTROPY)), 1, 12));

Line 259: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>

255: return;
256: end if;
257: -- Recompute the key by taking the MD5 of the old key plus the entropy.
258: X_KEY := UTL_RAW.CONCAT(
259: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
260: UTL_RAW.CONCAT(hextoraw('1'), X_KEY, X_ENTROPY)), 1, 12),
261: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
262: UTL_RAW.CONCAT(hextoraw('2'), X_KEY, X_ENTROPY)), 1, 12));
263: -- Increment the seed counter

Line 260: UTL_RAW.CONCAT(hextoraw('1'), X_KEY, X_ENTROPY)), 1, 12),

256: end if;
257: -- Recompute the key by taking the MD5 of the old key plus the entropy.
258: X_KEY := UTL_RAW.CONCAT(
259: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
260: UTL_RAW.CONCAT(hextoraw('1'), X_KEY, X_ENTROPY)), 1, 12),
261: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
262: UTL_RAW.CONCAT(hextoraw('2'), X_KEY, X_ENTROPY)), 1, 12));
263: -- Increment the seed counter
264: if (X_COUNTER = power(2,31)) then

Line 261: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>

257: -- Recompute the key by taking the MD5 of the old key plus the entropy.
258: X_KEY := UTL_RAW.CONCAT(
259: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
260: UTL_RAW.CONCAT(hextoraw('1'), X_KEY, X_ENTROPY)), 1, 12),
261: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
262: UTL_RAW.CONCAT(hextoraw('2'), X_KEY, X_ENTROPY)), 1, 12));
263: -- Increment the seed counter
264: if (X_COUNTER = power(2,31)) then
265: X_COUNTER := 1;

Line 262: UTL_RAW.CONCAT(hextoraw('2'), X_KEY, X_ENTROPY)), 1, 12));

258: X_KEY := UTL_RAW.CONCAT(
259: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
260: UTL_RAW.CONCAT(hextoraw('1'), X_KEY, X_ENTROPY)), 1, 12),
261: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
262: UTL_RAW.CONCAT(hextoraw('2'), X_KEY, X_ENTROPY)), 1, 12));
263: -- Increment the seed counter
264: if (X_COUNTER = power(2,31)) then
265: X_COUNTER := 1;
266: else

Line 343: M_KEY := UTL_RAW.CONCAT(

339: if (X_LASTCOUNT = P_LASTCOUNT) then
340: if (P_LASTCOUNT = 0) then
341: -- This is the first process to touch the row, force a key change
342: X_ENTROPY := GENERATE_ENTROPY;
343: M_KEY := UTL_RAW.CONCAT(
344: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
345: UTL_RAW.CONCAT(hextoraw('1'), M_KEY, X_ENTROPY)), 1, 12),
346: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
347: UTL_RAW.CONCAT(hextoraw('2'), M_KEY, X_ENTROPY)), 1, 12));

Line 344: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>

340: if (P_LASTCOUNT = 0) then
341: -- This is the first process to touch the row, force a key change
342: X_ENTROPY := GENERATE_ENTROPY;
343: M_KEY := UTL_RAW.CONCAT(
344: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
345: UTL_RAW.CONCAT(hextoraw('1'), M_KEY, X_ENTROPY)), 1, 12),
346: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
347: UTL_RAW.CONCAT(hextoraw('2'), M_KEY, X_ENTROPY)), 1, 12));
348: end if;

Line 345: UTL_RAW.CONCAT(hextoraw('1'), M_KEY, X_ENTROPY)), 1, 12),

341: -- This is the first process to touch the row, force a key change
342: X_ENTROPY := GENERATE_ENTROPY;
343: M_KEY := UTL_RAW.CONCAT(
344: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
345: UTL_RAW.CONCAT(hextoraw('1'), M_KEY, X_ENTROPY)), 1, 12),
346: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
347: UTL_RAW.CONCAT(hextoraw('2'), M_KEY, X_ENTROPY)), 1, 12));
348: end if;
349: -- Update is required

Line 346: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>

342: X_ENTROPY := GENERATE_ENTROPY;
343: M_KEY := UTL_RAW.CONCAT(
344: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
345: UTL_RAW.CONCAT(hextoraw('1'), M_KEY, X_ENTROPY)), 1, 12),
346: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
347: UTL_RAW.CONCAT(hextoraw('2'), M_KEY, X_ENTROPY)), 1, 12));
348: end if;
349: -- Update is required
350: X_LASTCOUNT := M_COUNTER;

Line 347: UTL_RAW.CONCAT(hextoraw('2'), M_KEY, X_ENTROPY)), 1, 12));

343: M_KEY := UTL_RAW.CONCAT(
344: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
345: UTL_RAW.CONCAT(hextoraw('1'), M_KEY, X_ENTROPY)), 1, 12),
346: UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT =>
347: UTL_RAW.CONCAT(hextoraw('2'), M_KEY, X_ENTROPY)), 1, 12));
348: end if;
349: -- Update is required
350: X_LASTCOUNT := M_COUNTER;
351: M_COUNTER := mod(M_COUNTER * C_BLOCK_SIZE, S_MAX_COUNTER);

Line 360: INPUT => UTL_RAW.CONCAT(X_R1, X_R2, X_R3), KEY => M_KEY);

356: M_COUNTER := mod(M_COUNTER + 1, S_MAX_COUNTER);
357: X_R3 := hextoraw(to_char(M_COUNTER, S_HEX_FORMAT));
358: M_COUNTER := mod(M_COUNTER + 2, S_MAX_COUNTER);
359: X_NEWKEY := DBMS_OBFUSCATION_TOOLKIT.DES3ENCRYPT(
360: INPUT => UTL_RAW.CONCAT(X_R1, X_R2, X_R3), KEY => M_KEY);
361: -- Used the first 4 randoms from this block to regenerate the key
362: -- (one value was discarded to stay on an even count)
363: M_NUM_RANDOMS := C_BLOCK_SIZE - 4;
364: -- Update the counter and key

Line 456: X_BYTES := UTL_RAW.CONCAT(X_BYTES,

452: X_NRAND := X_NRAND - 1;
453: M_COUNTER := mod(M_COUNTER + 1, S_MAX_COUNTER);
454: -- Concatenate additional counter values to fill the request
455: while (X_NRAND > 0) loop
456: X_BYTES := UTL_RAW.CONCAT(X_BYTES,
457: hextoraw(to_char(M_COUNTER, S_HEX_FORMAT)));
458: M_COUNTER := mod(M_COUNTER + 1, S_MAX_COUNTER);
459: X_NRAND := X_NRAND - 1;
460: end loop;

Line 464: return(UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.DES3ENCRYPT(

460: end loop;
461: -- Return the encryption of the counter sequence
462: if (X_EXTRA > 0) then
463: -- If rounding was done, truncate unwanted bytes
464: return(UTL_RAW.SUBSTR(DBMS_OBFUSCATION_TOOLKIT.DES3ENCRYPT(
465: INPUT => X_BYTES, KEY => M_KEY),
466: 1, P_NBYTES));
467: end if;
468: return(DBMS_OBFUSCATION_TOOLKIT.DES3ENCRYPT(INPUT => X_BYTES,

Line 485: INPUT => UTL_RAW.CONCAT(X_NEWKEY,X_ENTROPY));

481: from FND_RAND_STATES
482: where LOCK_ID = 1
483: for update;
484: X_NEWKEY := DBMS_OBFUSCATION_TOOLKIT.MD5(
485: INPUT => UTL_RAW.CONCAT(X_NEWKEY,X_ENTROPY));
486: X_NEWKEY := UTL_RAW.SUBSTR(
487: UTL_RAW.CONCAT(X_NEWKEY,
488: DBMS_OBFUSCATION_TOOLKIT.MD5(
489: INPUT => UTL_RAW.CONCAT(X_NEWKEY, X_NEWKEY))),

Line 486: X_NEWKEY := UTL_RAW.SUBSTR(

482: where LOCK_ID = 1
483: for update;
484: X_NEWKEY := DBMS_OBFUSCATION_TOOLKIT.MD5(
485: INPUT => UTL_RAW.CONCAT(X_NEWKEY,X_ENTROPY));
486: X_NEWKEY := UTL_RAW.SUBSTR(
487: UTL_RAW.CONCAT(X_NEWKEY,
488: DBMS_OBFUSCATION_TOOLKIT.MD5(
489: INPUT => UTL_RAW.CONCAT(X_NEWKEY, X_NEWKEY))),
490: 1, 24);

Line 487: UTL_RAW.CONCAT(X_NEWKEY,

483: for update;
484: X_NEWKEY := DBMS_OBFUSCATION_TOOLKIT.MD5(
485: INPUT => UTL_RAW.CONCAT(X_NEWKEY,X_ENTROPY));
486: X_NEWKEY := UTL_RAW.SUBSTR(
487: UTL_RAW.CONCAT(X_NEWKEY,
488: DBMS_OBFUSCATION_TOOLKIT.MD5(
489: INPUT => UTL_RAW.CONCAT(X_NEWKEY, X_NEWKEY))),
490: 1, 24);
491: update FND_RAND_STATES

Line 489: INPUT => UTL_RAW.CONCAT(X_NEWKEY, X_NEWKEY))),

485: INPUT => UTL_RAW.CONCAT(X_NEWKEY,X_ENTROPY));
486: X_NEWKEY := UTL_RAW.SUBSTR(
487: UTL_RAW.CONCAT(X_NEWKEY,
488: DBMS_OBFUSCATION_TOOLKIT.MD5(
489: INPUT => UTL_RAW.CONCAT(X_NEWKEY, X_NEWKEY))),
490: 1, 24);
491: update FND_RAND_STATES
492: set RANDOM_KEY = X_NEWKEY,
493: LAST_SEQUENCE = 0