Как перемешать массив в псевдослучайной последовательности?
Генератор случайных чисел и так работает на основе некоего стартового значения (seed). Так что если вы ему скормите ID статьи, он ван наштампует всегда одинаковый, но случайный набор чисел.
Да раздели  1000000 на это id и бегите по цифрам после запятой. Тут же важно получить просто условно бесконечную, но одинаковую последовательность цифр